SQL 내장함수
- SQL에서는 함수의 개념을 사용하는데 수학의 함수와 마찬가지로 특정 값이나 열의 값을 입력받아 그 값을 계산하여 결과 값을 돌려줌
- SQL의 함수는 DBMS가 제공하는 내장 함수와 사용자가 필요에 따라 직접 만드는 사용자 정의 함수로 나뉨.
- SQL 내장 함수는 상수나 속성 이름을 입력 밧으로 받아 단일 값을 결과로 반환함.
모든 내장 함수는 최초에 선언될 때 유효한 입력 값을 받아야 함.
- 숫자 함수
• ABS(숫자) : 숫자의 절댓값 계산
• CEIL(숫자) : 숫자보다 크거나 같은 최소의 정수
• FLOOR(숫자) : 숫자보다 작거나 같은 최소의 정수
• ROUND(숫자, m) : m 자리를 기준으로 숫자 반올림
• LOG(n, 숫자) : 숫자의 자연로그 값 반환
• POWER(숫자, n) : 숫자의 n제곱 값 계산
• SQRT(숫자) : 숫자의 제곱근 값 계산
• SIGN(숫자) : 숫자가 음수면 -1, 0이면0, 양수면 1 반환
- 문자 함수
• CHR(k) : 정수 아스키코드를 문자로 반환
• CONCAT(s1, s2) : 두 문자열을 연결
• INITCAP(s) : 문자열의 첫 번째 알파벳을 대문자로 변환
• LOWER(s) : 대상 문자열을 모두 소문자로 변환
• LPAD(s, n, c) : 대상 문자열의 왼쪽부터 지정한 자릿수까지 지정한 문자로 채움
• LTRIM(s1, s2) : 대상 문자열의 왼쪽부터 지정한 문자들을 제거
• REPLACE(s1, s2, s3) : 대상 문자열의 지정한 문자를 원하는 문자로 변경
• RPAD(s, n, c) : 대상 문자열의 오른쪽부터 지정한 자릿수까지 지정한 문자로 채움
• RTRIM(s1, s2) : 대상 문자열의 오른쪽부터 지정한 문자들을 제거
• SUBSTR(s, n, k) : 대상 문자열의 지정된 자리에서부터 지정된 길이만큼 잘라서 반환
• TRIM(c FROM s) : 대상 문자열의 양쪽에서 지정된 문자를 삭제
• UPPER(s) : 대상 문자열을 모두 대문자로 변환
• ASCII(c) : 대상 알파벳 문자의 아스키코드 값을 반환
• INSTR(s1, s2, n, k) : 문자열 중 n번째 문자부터 시작하여 찾고자 하는 문자열 s2가 k 번째
나타나는 문자열 위치 반환
• LENGTH(s) : 대상 문자열의 글자 수를 반환
- 날짜/시간 함수
• TO_DATE(char, datetime) : 문자형 데이터를 DATE형으로 반환
• TO_CHAR(date, datetime) : DATE형 데이터를 문자열로 반환
• ADD_MONTHS(date, 숫자) : 날짜에 지정한 달을 더해 DATE형으로 반환
• LAST_DAY(date) : 날짜에 달의 마지막 날을 DATE형으로 반환
• SYSDATE : DBMS 시스템상의 당일 날짜를 DATE형으로 반환
• NULL 값 처리
- NULL 값은 아직 지정되지 않음을 의미
- NULL 값은 ‘0’, ‘’, ‘ ’과 다른 특별한 값
- NULL 값은 비교 연산자로 비교가 불가능함
- NULL 값의 연산을 수행하면 결과 역시 NULL 값으로 반환됨
- NULL 값을 찾을 떄는 ‘=’ 연산자가 아닌 ‘IS NULL’을 사용
- NULL이 아닌 값을 찾을 떄는 ‘< >’ 연산자가 아닌 ‘IS NOT NULL’을 사용
- 집계 함수를 사용할 때 주의할 점
• ‘NULL + 숫자’ 연산의 결과는 NULL
• 집계 함수 계산 시 NULL이 포함된 행은 집계에서 제외
• 해당되는 행이 하나도 없을 경우 SUM, AVG 함수의 결과는 NULL, COUNT는 0
• ROWNUM 함수(자동으로 순번매기기)
SELECT ROWNUM, A.P_name, A.price
FROM product A
• ROW_NUMBER() 함수(정렬한 후 자동으로 순번 매기기)
SELEECT ROWNUM() OVER(ORDER BY A.price) AS NUM, A.P_name, A.price
FROM product A
'Study Fundamental > DataBase' 카테고리의 다른 글
11. 뷰 (0) | 2021.10.21 |
---|---|
10. 부속질의 (0) | 2021.10.21 |
08. SQL 기초 (0) | 2021.10.21 |
07. 관계대수 (0) | 2021.10.20 |
06. 무결성 제약조건 (0) | 2021.10.20 |