공부하자
함수 본문
1. 데이터 형식 변환 함수
CAST(값 AS 데이터 형식) | SELECT CAST(1234 AS CHAR(4)) |
CONVERT(값, 데이터 형식) | SELECT CONVERT(1234, CHAR(4)) |
2. 제어 흐름 함수
IF(수식, 참, 거짓) | 수식이 참 또는 거짓에 따라 결과 분기 |
IFNULL(수식1, 수식2) | 수식이 NULL일 경우 수식 2, NULL이 아닐경우에 수식 1을 반환 |
NULLIF(수식1, 수식2) | 수식1 = 수식2 일 경우 NULL반환, 다르면 수식1반환 |
CASE ~ WHEN ~ ELSE ~ END | 다중 분기 EX) CASE GENDER WHEN 'M' THEN '남자' ELSE '여자' END -> GENDER의 값이 'M'일 경우 남자, 다른 경우에는 '여자' |
3. 문자열 함수
CONCAT(문자열1,문자열2,....) | 문자열을 이어준다. |
CONCAT_WS(구분자, 문자열1, 문자열 2,....) | 문자열 사이에 구분자를 넣어 이어준다. |
FORMAT(숫자, 소숫점 자릿수) | 숫자에 ','를 넣어주고 , 소수점 자릿수 까지 표현해준다. |
LEFT(문자열, 길이) | 문자열 왼쪽부터 길이만큼 잘라서 반환한다. |
RIGHT(문자열, 길이) | 문자열 오른쪽부터 길이만큼 잘라서 반환한다. |
UPPER(문자열) | 소문자를 대문자로 반환한다. |
LOWER(문자열) | 대문자를 소문자로 반환한다. |
LPAD(문자열, 길이, 채울 문자열) | 문자열을 포함해 길이만큼 채울 문자열을 왼쪽에 넣는다. |
RPAD(문자열, 길이, 채울 문자열) | 문자열을 포함해 길이만큼 채울 문자열을 오른쪽에 넣는다. |
TRIM(문자열) | 좌우 공백을 제거한다. |
LTRIM(문자열) | 왼쪽 공백을 제거한다. |
RTRIM(문자열) | 오른쪽 공백을 제거한다. |
TRIM(방향 문자열1 FROM 문자열 2) | 방향을 지정해 문자열2에서 문자열1 공백을 제거한다. ( LEADING (좌), TRAILING(우), BOTH(좌우)) |
SUBSTRING(문자열, 시작위치, 길이) | 문자열을 시작위치에서 길이만큼 잘라서 반환한다. |
SUBSTRING_INDEX(문자열, 구분자, 횟수) | 왼쪽부터 구분자가 횟수 번째가 나오면 그 이후부터 버린다. |
4. 수학함수
CEILING(숫자) | 올림한다. |
FLOOR(숫자) | 버림한다. |
ROUND(숫자) | 반올림한다. |
TRUNCATE(숫자,정수) | 소수점 기준으로 정수위치 까지 구하고 나머지 버림한다. |
5. 날짜 및 시간 함수
NOW() | 현재 날짜/ 시간을 구한다. (DATETIME) |
ADDDATE(날짜1, INTERVAL 날짜2) | 날짜 1에서 날짜2를 더한 날짜를 구한다. (시간도 가능, 음수도 가능) |
SUBDATE(날짜1, INTERVAL 날짜2) | 날짜 1에서 날짜2를 뺀 날짜를 구한다(시간도 가능, 음수도 가능) |
ADDTIME(날짜/시간, 시간) | 날짜/시간에서 시간을 더한 날짜/시간을 구한다. (음수도 가능) |
SUBTIME(날짜/시간, 시간) | 날짜/시간에서 시간을 뺀 날짜/시간을 구한다. (음수도 가능) |
6. 순위 함수
RANK() OVER(ORDER BY 속성명 DESC/ASC) | 순위를 매김 |
ROW_NUMBER() OVER(ORDER BY 속성명 DESC/ASC) | 레코드에 순위를 매김 |