제 6절. 함수

1. 내장함수 (Built-In function) 개요

함수를 크게 분류하면 벤더에서 제공하는 내장함수와 사용자가 정의하는 함수가 있다.
입력 값이 단일행 값이 입력되는 단일행 함수와 여러 행의 값이 입력되는 다중행 함수가 있다.

함수는 입력되는 값이 많아도 출력되는 값은 1개다.

함수이름 (칼럼이나 표현식 [, 인수1, 인수2, ...])

단일행 함수의 종류

  • 문자형 함수
  • 숫자형 함수
  • 날짜형 함수 : DATE 타입 값을 연산한다.
  • 변환형 함수
  • NULL 처리 함수

단일행 함수의 특징

  • SELECT, WHERE, ORDER BY 절에 사용 가능하다.
  • 여러 인자를 입력해도 하나의 결과만 리턴한다.
  • 함수의 인자로 함수를 가질 수 있다.

2. 문자형 함수

문자 데이터를 매개 변수로 받아서 문자나 숫자 값의 결과를 돌려준다.

문자형함수 함수 설명
LOWER('SQL Expert') 'sql expert'
UPPER('SQL Expert') 'SQL EXPERT'
ASCII('A') 65
CHAR(65) 'A'
CONCAT('RDBMS', ' SQL') 'RDBMS SQL'
SUBSTR('HELLO', 3, 2) 'LL'
LEN('HELLO') 5
LTRIM('xxxYYZZ', 'x') 'YYZZ'

DUAL 테이블

ORACLE의 DUMMY 테이블이다.
사용자 SYS가 소유하며 모든 사용자가 액세스 가능한 테이블이다.
DUMMY라는 문자열 유형의 칼럼에 'X'라는 값이 들어있는 행을 1건 포함한다.
반면 Sybase나 SQL Server에는 SELECT 절만으로도 SQL문장이 수행되므로 더미 테이블이 필요없다.

3. 숫자형 함수

숫자 데이터를 입력받아 처리하고 숫자를 리턴하는 함수다.

숫자형함수 함수 설명
ABS(-15) 15 절대값을 리턴한다.
SIGN(-20) -1
SIGN(0) 0
SIGN(20) 1
MOD(7, 3) 1
CEIL(38.123) 39
CEILING(-38.123) -38
FLOOR(38.123) 38
ROUND(38.523, 2) 38.52
ROUND(38.523, 0) 38
TRUNC(38.523, 1) 38.5
TRUNC(38.523) 38

4. 날짜형 함수

날짜형 함수 함수 설명
SYSDATE 현재 날짜와 시각을 출력
EXTRACT('YEAR' 'MONTH'
TO_NUMBER(TO_CAHR(D, 'YYYY') 날짜에서 연도만 출력하여 숫자로 변환

5. 변환형 함수

  • 명시적 데이터 유형 변환 : 데이터 변환형 함수 이용

  • 암시적 데이터 유형 변환 : 데이터베이스가 자동으로 데이터유형을 변환하여 계산

  • TO_NUMBER(문자열)

  • TO_CHAR(숫자 | 날짜 [, FORMAT])

  • TO_DATE(문자열 [, FORMAT])

728x90

'프로그래밍 > SQLD' 카테고리의 다른 글

SQL 기본 7 : ORDER BY  (0) 2020.05.28
SQL 기본 6 : GROUP BY, HAVING  (0) 2020.05.27
SQL 기본 4 : WHERE 절  (0) 2020.05.27
SQL 기본 3 : TCL  (0) 2020.05.27
SQL 기본 2 : DML  (0) 2020.05.27

+ Recent posts