문자열을 조작하거나 변환할 때 사용하는 함수
| 함수 | 설명 | 예제 |
|---|---|---|
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' |
숫자를 연산하거나 변환할 때 사용하는 함수
| 함수 | 설명 | 예제 |
|---|---|---|
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 |
EXP | e^x 반환 | EXP(1) → 2.718 |
LOG | 자연로그 반환 | LOG(10) → 2.302 |
날짜와 관련된 연산을 수행하는 함수
| 함수 | 설명 | 예제 |
|---|---|---|
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 |
데이터 타입을 변환할 때 사용하는 함수
| 함수 | 설명 | 예제 |
|---|---|---|
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 값을 처리하는 함수
| 함수 | 설명 | 예제 |
|---|---|---|
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' |