Study Fundamental/DataBase

09. SQL 내장함수

Tuan0324 2021. 10. 21. 18:55

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