문자형 함수
- CHR (ASCII 코드)
- ASCII 코드 값을 숫자로 변환
ASCII('A')
—> 65
- LOWER (문자열)
- 문자열을 소문자로
LOWER('ABCDE')
—> abcde
- UPPER (문자열)
- 문자열을 대문자로
UPPER('abcde')
—> ABCDE
- SUBSTR (문자열, X, Y)
- 문자열 X의 위치에서 Y개의 문자열 추출
SUBSTR('ABCDE',3,2)
—> CD
SUBSTR('ABCDE',-4,2)
—> BC
↪ 우측 끝부터 시작해 좌측으로 이동하여 X 위치에서 Y 개의 문자열 추출
SUBSTR('ABCDE',3)
—> CDE
↪ Y 생략 시 X 위치에서 나머지 문자열 추출
- INSTR (문자열, 탐색문자열, X, Y)
- 문자열에서 탐색할 문자열 위치 반환
- X 위치에서 시작해서 Y 번째 발견된 문자열 위치
INSTR('A#B#C#D#E','#',3,2)
—> 6
↪ X 번째부터 시작해 Y 번째 발견된 # 위치
INSTR('A#B#C#D#E','#',-3,2)
—> 4
↪ 우측 끝부터 시작해 좌측으로 이동하여 X 위치에서 Y 번째 발견된 # 위치
INSTR('A#B#C#D#E','#')
—> 4
↪ X, Y 생략 시 1 값으로 해석
- LTRIM (문자열, 삭제할 문자열)
- 문자열 중 삭제할 문자열을 좌측부터 삭제
LTRIM('AAABABBB','A')
—> BABBB
LTRIM(' AAABABBB')
—> AAABABBB
↪ 삭제할 문자열 생략 시 공백 삭제
- RTRIM (문자열, 삭제할 문자열)
- 문자열 중 삭제할 문자열을 우측부터 삭제
RTRIM('AAABABBB','B')
—> AAABA
RTRIM('AAABABBB ')
—> AAABABBB
↪ 삭제할 문자열 생략 시 공백 삭제
- LPAD (문자열, X, 추가할 문자열)
- 문자열 좌측에 추가할 문자열을 추가하여 총 X 길이의 값을 리턴
LPAD('AB',5,'#')
—> ###AB
- RPAD (문자열, X, 추가할 문자열)
- 문자열 우측에 추가할 문자열을 추가하여 총 X 길이의 값을 리턴
RPAD('AB',5,'#')
—> AB###
- CONCAT (문자열1, 문자열2)
- 문자열1 과 문자열2 를 결합
CONCAT('AB','CD')
—> ABCD
- LENGTH (문자열)
- 문자열 길이를 리턴
LENGTH('ABCDE')
—> 5
- REPLACE (문자열, 탐색할 문자열, 변경할 문자열)
- 문자열 변경 및 삭제
REPLACE('ABCED','ED','DE')
—> ABCDE
숫자 함수
- ROUND (숫자, X)
- 소수점 X 자리까지 반올림
ROUND(369.369,2)
—> 369.37
ROUND(369.369,-2)
—> 400
↪ -2
= 10의 자리를 반올림
- TRUNC (숫자, X)
- 소수점 X 자리까지 버림
TRUNC(369.369,2)
—> 369.36
TRUNC(369.369,-2)
—> 300
↪ -2
= 10의 자리까지 버림
- SIGN (숫자)
- 숫자가 양수 = 1
- 숫자가 음수 = - 1
- 숫자가 0 = 0
ROUND(369)
—> 1
ROUND(-369)
—> -1
ROUND(0)
—> 0
- FLOOR (숫자)
- 소수점 이하 버림
FLOOR(36.3)
—> 36
FLOOR(-36.3)
—> -37
↪ -
붙으면 작은 값으로 향함
- CEIL (숫자)
- 소수점 이하 올림
CEIL(36.6)
—> 37
CEIL(-36.3)
—> -36
↪ -
붙으면 큰 값으로 향함
- MOD (X, Y)
- X 를 Y 로 나눈 나머지를 리턴
MOD(20,3)
—> 2
MOD(20,-3)
—> 2
↪ -
붙어도 양수와 동일하게 리턴
MOD(2,5)
—> 2
↪ 2는 5로 나눌 수 없으니 나머지 2가 리턴
날짜 함수
- SYSDATE
- 현재의 연 . 월 . 일 . 시 . 분 . 초를 리턴
- YYYY - MM - DD-
hh - mm - ss
SYSDATE
—> 2024/11/28 14:12:43
- EXTRACT (특정 단위 FROM 날짜 데이터 or SYSDATE)
- 입력된 날짜 데이터의 특정 단위를 리턴
EXTRACT(YEAR FROM SYSDATE)
—> 2024
EXTRACT(MONTH FROM SYSDATE)
—> 11
변환 함수
- 명시적 형변환 : 변환 함수를 사용하여 데이터를 명시적으로 나타냄
- 암시적 형변환 : 내부에서 스스로 데이터 유형을 변환함
- TO_NUMBER (문자열)
- 문자열을 숫자 타입으로 변경하여 리턴
- 숫자로 변환이 안 되는 문자열이 입력되면 에러 발생
TO_NUMBER('5')
—> 5
- TO_CHAR (날짜 or 숫자, 포맷 형식)
- 숫자나 날짜 데이터를 포맷 형식으로 변환
TO_CHAR(SYSDATE,'YYYY-MM-DD')
—> 2024-11-28
SELECT TO_DATE('2024-11-28','YYYY-MM-DD')
, TO_DATE('2024-11-28 14:12:43','YYYY-MM-DD HH24:MI:SS')
FROM dual;
-- 출력값
2024-11-28 00:00:00
2024-11-28 14:12:43
그룹 함수
SELECT COUNT(SAL) -- 행의 수 리턴
FROM EMP;
SELECT COUNT(*) -- 모든 행 수 리턴
FROM EMP;
SELECT SUM(SAL) -- 총 합 리턴
FROM EMP;
SELECT AVG(SAL) -- 평균 리턴
FROM EMP;
SELECT MAX(SAL) -- 최댓값 리턴
FROM EMP;
SELECT MIN(SAL) -- 최솟값 리턴
FROM EMP;
SELECT VAR(SAL) -- 분산 리턴
FROM EMP;
SELECT STDEV(SAL) -- 표준편차 리턴
FROM EMP;
일반 함수 (NULL 함수, 치환 함수)
- NVL ( X, Y )
- X = NULL
—> Y 리턴
- X ≠ NULL
—> X 리턴
- NVL2 ( X, Y, Z )
- X = NULL
—> Z 리턴
- X ≠ NULL
—> Y 리턴
- NULLIF ( X, Y )
- X = Y —> NULL 리턴
- X ≠ Y
—> X 리턴
- COALESCE ( X, Y, Z )
- X ≠ NULL
—> X 리턴
- X = NULL
—> Y 리턴
- Y = NULL
—> Z 리턴