[SQLP] SQL 기본과 활용 - 함수
단일행 함수
1. 문자형 함수 - 문자나 숫자값을 반환
- LOWER : 해당 알파벳을 소문자로
- UPPER : 해당 알파벳을 대문자로
- ASCII : 해당 아스키값을 출력
- CHR/CHAR : 해당 아스키코드값의 문자 출력 ex) CHR('13')은 엔터
- CONCAT : 문자와 문자를 합쳐줌 ex) CONCAT('학생', '나이')
- SUBSTR/SUBSTRING : 해당 문자를 원하는 길이만큼 자름 ex) SUBSTR(0, 10) => 0~9까지 자름
- LENGTH/LEN : 해당 문자의 길이 출력
- LTRIM : 왼쪽 공백제거
- RTRIM : 오른쪽 공백제거
- TRIM : 양쪽 공백제거
2. 숫자형 함수 - 숫자 값을 연산
- ABS : 절댓값 함수
- SIGN : 해당 계산이 음수이면 -1, 0이면 0, 양수이면 1 출력 ex) SIGN(1-5) => -1출력
- MOD : 나머지 함수
- CEIL/CEILING : 소숫점 올림함수
- FLOOR : 소숫점 내림함수
- ROUND : 소숫점 반올림함수
- TRUNC : 소숫점 절사(버림) 함수
- SIN : 사인값 함수
- COS : 코사인값 함수
- TAN : 탄젠트값 함수
- EXP : e의 제곱승 값 함수 ex) EXP(4) => e의 4제곱
- POWER : 해당 숫자의 n제곱 함수 ex) POWER(5, 2) => 5의 2제곱
- SQRT : 제곱근 함수 ex) SQRT(16) => 16의 제곱근 4
- LOG : 로그값 함수
- LN : 자연로그값 함수
3. 날짜형 함수 - DATE 타입의 값을 연산
- SYSDATE/GETDATE : 현재 날짜 출력(초단위까지 출력됨)
- EXTRACT/DATEPART : 특정날짜의 원하는 연, 월 일 출력 ex) EXTRACT(year from date "2022-02-03") => 2022
- TO_NUMBER(TO_CHAR(d, 'YYYY'|'MM'|DD'))/YEAR|MONTH|DAY : 원하는 형식의 날짜 출력
4. 변환형 함수 - 해당 데이터의 데이터타입을 변환하여 출력
- (CAST, TO_NUMBER, TO_CHAR, TO_DATE)/(CAST, CONVERT)
SELECT
CAST('EMP_NO' AS VARCHAR(4)) -- 숫자를 문자로
,CAST('EMP_CODE' AS NUMBER) -- 문자를 숫자로
FROM '직원정보'
5. NULL 관련 함수
- NVL/ISNULL : NVL('A', 'B') => 'A'가 NULL값이면 'B'를 반환
- NVL2 : NVL2('A', 10, 20) => 'A'가 NULL이면 10, 아니면 20 반환
- NULLIF : NULLIF('A', 'B') => 'A'와 'B'가 같은 값이면 NULL, 다르면 'A' 반환
- COALESCE : (NVL의 다인수 버전) COALESCE('A', 'B', 'C', 'D') 'A'가 NULL이면 COALESCE('B', 'C', 'D')로 시작(앞의 과정 반복)