[SQLD] 숫자 함수 / 문자열 함수 / 날짜 함수 / 집계 함수
숫자 함수
ROUND
: 숫자를 소수 m 자리에서 반올림하여 리턴 (m default: 0). 자릿수 확인 필요
- ROUND(138.94) 인수 : ROUND(138.94) 1 → 138.9
-1 0 1 2
Ceil
/Ceiling
: 숫자보다 크거나 같은 최소 정수를 리턴
FLOOR
: 숫자보다 작거나 같은 최대 정수를 리턴
TRUNC
: 숫자를 소수 m 자리에서 잘라서 리턴 (m default: 0)
문자열 함수
upper
/ lower
LPAD(값, 총문자길이, 채움문자)
/ RPAD(값, 총문자길이, 채움문자)
- 지정한 길이 만큼 왼쪽 혹은 오른쪽부터 특정 문자로 채워줌. 채움문자 defalt 공백
TRIM(문자열)
: 양쪽 공백 제거
LTRIM(문자열, 옵션)
/ RTRIM(문자열, 옵션)
- 옵션 미지정시 왼쪽 혹은 오른쪽 공백 제거, 옵션 지정시 반복적인 해당 문자 제거
SUBSTR(문자열, 시작위치, 길이)
- 문자열 자르기. 길이 생략시 시작위치부터 끝까지.
- 시작위치에 뒤에서부터 인덱스번호 사용 가능 (음수)
INSTR(문자열, 찾을 문자열, 시작 위치, 발생 횟수)
- 문자열에서 찾고자하는 문자열과 일치하는 위치를 반환
- 발생횟수는 몇 번째 일치하는 지 명시
- 시작위치와 발생횟수 미지정시 default 1
REPLACE(문자열, 대체될문자열, 대체할문자열)
날짜 함수
- 날짜 데이터 + 100 → 100일 이후. 숫자를 day로 인식함
1/24/60 → 1분
1/24/(60/10) → 10분
TO_CHAR
TO_DATE
SYSDATE
(Oracle)
GETDATE
(SQLServer)
집계함수 ⭐️
- SUM, AVG는 NULL값을 제외한 계산 결과를 출력
- AVG(COUNT(*))와 같이 중첩된 그룹함수의 최종 결과물은 1건이 될 수 밖에 없음
- GROUP BY절에 기술된 두 컬럼은 SELECT 절에 기술될 수 없음
- NULL이 있는 컬럼에서
A | B | C | A + B + C |
---|
NULL | NULL | 1 | NULL |
3 | 2 | 2 | 7 |
NULL | 2 | 3 | NULL |
- SUM(A) → 3
SUM(B) → 4
- COUNT(A) → 1
- COUNT(*) → 3
- SUM(A+B+C) → 7
- SUM(A) + SUM(B) + SUM(C) → 13