1. 내장함수(BUILT-IN FUNCTION)
내장함수 : 벤더에서 제공하는 함수
- 단일행함수
- 다중행함수
+ 집계함수
+ 그룹함수
+ 윈도우함수
2. 문자형함수 : 문자데이터를 매개변수로 받아들여 문자나 숫자 값의 결과를 돌려주는 함수
UPPER(문자열) : 문자열의 알파벳문자를 대문자로 바꿔준다
LOWER(문자열) : 문자열의 알파벳문자를 소문자로 바꿔준다
CHR/CHAR(ASCII 번호) : ASCII 코드 번호를 문자나 숫자로 바꿔준다
SUBSTR/SUBSTRING(문자열, m [,n]) : 문자열 중 m위치에서 n개의 문자 길이에 해당하는 문자를 돌려준다.
n을 생략하면 마지막 문자까지
LENGTH/LEN(문자열) : 문자열의 개수를 돌려준다
TRIM([leading | trailing | both] 지정문자 FROM 문자열) : 문자열에서 머리말, 꼬리말 또는 양쪽에 있는 지정문자를 제거한다.
default는 both, SQL Server에서는 TRIM함수에 지정문자를 사용할 수 없다.
즉, 공백만 제거할 수 있다.
LTRIM(문자열[,지정문자]), RTRIM(문자열[,지정문자]) : L은 처음부터, R은 마지막부터 확인
3. 숫자형함수 : 숫자 데이터를 입력받아 처리하고 숫자를 리턴하는 함수
ABS(숫자) : 숫자의 절대값을 돌려준다
SIGN(숫자) : 양수인지, 음수인지, 0인지 구별한다
MOD(숫자1, 숫자2) : 숫자 1을 숫자 2로 나누어 나머지값을 리턴한다
CEIL/CEILING(숫자) 숫자보다 크거나 같은 최소 정수를 리턴한다
FLOOR(숫자) : 숫자보다 작거나 같은 최대 정수를 리턴한다
ROUND(숫자 [,m]) : 숫자를 소수점 m자리에서 반올림하여 리턴한다. 디폴트는 0
TRUNC(숫자 [,m N ]) : 숫자를 소수 m자리에서 잘라서 버린다 디폴트는 0
SQL Server에서는 제공X
SIN, COS, TAN : 숫자의 삼각함수 값을 리턴한다
EXP(), POWER(), SQRT(), LOG(), LN() : 숫자의 지수, 거듭 제곱, 제곱근, 자연 로그 값을 리턴한다.
4. 날짜형함수 : DATE타입의 값을 연산하는 함수
SYSDATE/GETDATE() : 현재 날짜와 시각을 출력한다
EXTRACT('YEAR'|'MONTH'|'DAY' FROM d)/DATEPART('YEAR'|'MOTH'|'DAY' ,d) : 날짜데이터에서 년/월/일 출력한다
TO_NUMBER(TO_CHAR(d, 'YYYY'))/YEAR(d)
TO_NUMBER(TO_CHAR(d, 'MM))/MONTH(d)
TO_NUMBER(TO_CHAR(d, 'DD'))/DYA(d)
날짜형 데이터 연산
날짜 + 날짜
날짜 - 숫자
날짜1 - 날짜2
날짜 + 숫자/24(시간)
5. 변환형 함수
6. CASE 표현
IF-THEN-ELSE논리와 유사한 방식으로 표현식을 작성하여 비교연산 기능을 보완
부서 정보에서 부서의 위치를 미국의 동부, 중부, 서부로 구분하라. |
SELECT LOC , CASE LOC WHEN 'NEW YORK' THEN 'EAST' WHEN 'BOSTON' THEN 'EAST' WHEN 'CHICAGO' THEN 'CENTER' ELSE 'ETC' END as AREA FROM DEPT; |
사원 정보에서 급여가 3000 이상이면 상등급으로, 1000이상이면 중등급으로, 100미만이면 하등급으로 분류하라. |
SELECT ENAME , CASE WHEN SAL >= 3000 THEN 'HIGH' WHEN SAL >= 1000 THEN 'MID' ELSE 'LOW' END AS SALARY_GRADE FROM EMP; |
7. NULL 관련 함수
0) NULL에 대한 특징
- 아직 정의되지 않은 값으로 0 또는 공백과 다르다.
- 널 값을 포함하는 연산의 경우 결과 값도 널 값이다.
1) NVL/ISNULL 함수
일반형 함수 | 함수 설명 |
NVL(표현식 1, 표현식2) / ISNULL(표현식1, 표현식2) | 표현식 1의 결과값이 NULL이면 표현식2의 값을 출력한다 |
NULLIF(표현식1, 표현식2) | 표현식1이 표현식2와 같으면 NULL, 아니면 표현식 1을 리턴한다. |
COALESCE(표현식1, 표현식2, ---) | 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다. 모든 표현식이 NULL이라면 NULL을 리턴한다. |
[SQL 전문가 가이드] TOP(N) 쿼리, ROWNUM 조건 (0) | 2022.09.05 |
---|---|
[SQL 전문가 가이드] GROUP BY, HAVING절 (0) | 2022.09.04 |
[PostgreSQL] 시작하기 (0) | 2022.06.10 |
[SQL] SQL이란? (0) | 2022.06.10 |
[오라클] 서론 (0) | 2022.01.05 |