[SQL] 함수 정리

다훈·2025년 2월 26일

문자형 함수 (String Functions)

문자열을 조작하거나 변환할 때 사용하는 함수

함수설명예제
CONCAT두 개 이상의 문자열을 연결CONCAT('SQL', ' Function')'SQL Function'
UPPER모든 문자를 대문자로 변환UPPER('sql')'SQL'
LOWER모든 문자를 소문자로 변환LOWER('SQL')'sql'
SUBSTR문자열의 일부를 추출SUBSTR('Database', 1, 4)'Data'
LENGTH문자열의 길이를 반환LENGTH('SQL')3
TRIM앞뒤 공백 제거TRIM(' SQL ')'SQL'
REPLACE특정 문자열을 다른 문자열로 변경REPLACE('SQL is fun', 'fun', 'powerful')'SQL is powerful'
INSTR특정 문자의 위치 반환INSTR('SQL Query', 'Q')5
LEFT왼쪽에서 n개의 문자 반환LEFT('Database', 4)'Data'
RIGHT오른쪽에서 n개의 문자 반환RIGHT('Database', 4)'base'
MID특정 위치에서 n개의 문자 반환MID('Database', 2, 3)'ata'

숫자형 함수 (Numeric Functions)

숫자를 연산하거나 변환할 때 사용하는 함수

함수설명예제
ROUND소수점 반올림ROUND(3.1415, 2)3.14
ABS절댓값 반환ABS(-10)10
POWER거듭제곱 반환POWER(2, 3)8
CEIL올림CEIL(3.14)4
FLOOR내림FLOOR(3.99)3
MOD나머지 연산MOD(10, 3)1
SIGN양수(1), 음수(-1), 0 반환SIGN(-20)-1
SQRT제곱근 반환SQRT(16)4
EXPe^x 반환EXP(1)2.718
LOG자연로그 반환LOG(10)2.302

날짜형 함수 (Date Functions)

날짜와 관련된 연산을 수행하는 함수

함수설명예제
DATEADD날짜에 일정 기간을 추가DATEADD(DAY, 10, '2024-01-01')'2024-01-11'
DATEDIFF두 날짜 간 차이 반환DATEDIFF(DAY, '2024-01-01', '2024-01-10')9
YEAR연도 반환YEAR('2024-02-26')2024
MONTH월 반환MONTH('2024-02-26')2
DAY일 반환DAY('2024-02-26')26
HOUR시간 반환HOUR('2024-02-26 12:30:00')12
MINUTE분 반환MINUTE('2024-02-26 12:30:00')30
SECOND초 반환SECOND('2024-02-26 12:30:45')45
DATEPART특정 날짜 부분 반환DATEPART(MONTH, '2024-02-26')2
GETDATE현재 날짜와 시간 반환GETDATE()2024-02-26 12:00:00

변환형 함수 (Conversion Functions)

데이터 타입을 변환할 때 사용하는 함수

함수설명예제
CAST데이터 타입 변환CAST(123 AS VARCHAR(10))'123'
CONVERT데이터 타입 변환CONVERT(VARCHAR, 123)'123'
TO_CHAR숫자/날짜를 문자열로 변환TO_CHAR(SYSDATE, 'YYYY-MM-DD')'2024-02-26'
TO_NUMBER문자열을 숫자로 변환TO_NUMBER('1234')1234
TO_DATE문자열을 날짜로 변환TO_DATE('2024-02-26', 'YYYY-MM-DD')2024-02-26
NUMTOMINTERVAL숫자를 간격으로 변환NUMTOMINTERVAL(10, 'DAY')'10일'
TO_TIMESTAMP문자열을 타임스탬프로 변환TO_TIMESTAMP('2024-02-26 12:30:00', 'YYYY-MM-DD HH24:MI:SS')2024-02-26 12:30:00

NULL 관련 함수 (NULL Handling Functions)

NULL 값을 처리하는 함수

함수설명예제
NVL(표현식1, 표현식2)표현식1이 NULL이면 표현식2 반환NVL(NULL, 'Default')'Default'
NVL2(표현식1, 표현식2, 표현식3)표현식1이 NULL이면 표현식3, 아니면 표현식2 반환NVL2(NULL, 'Not Null', 'Null')'Null'
NULLIF(표현식1, 표현식2)표현식1과 표현식2가 같으면 NULL, 다르면 표현식1 반환NULLIF(10, 10)NULL
COALESCE(표현식1, 표현식2, ...)NULL이 아닌 가장 앞에 있는 값을 반환COALESCE(NULL, NULL, 'First Value')'First Value'
profile
Devlog

0개의 댓글