메모장 / / 2022. 5. 16.

[SQLD] 2-1-6. 함수

728x90
반응형

*내장함수

-함수의 입력 값에 따라 단일행 함수와 다중행 함수로 나뉜다.

-함수는 입력값이 아무리 많아도 출력값은 하나라는 M:1 관계라는 중요한 특징을 가진다. 

 

 단일행 함수 : 단일행 내에 있는 하나의 값 또는 여러 값이 입력 인수로 사용

 다중행 함수 : 여러 레코드의 값들을 입력 인수로 사용

 

*단일행함수_문자형 함수

문자형 함수 함수명 설명
  ASCII(문자) 문자나 숫자를 ASCII코드 번호로 출력
  CHR / CHAR(ASCII번호) ASCII 코드 번호를 문자나 숫자로 출력
  CONCAT(문자열1, 문자열2) 문자열은 연결
  SUBSTR / SUBSTRING(문자열, M[N] 문자열 중 M 위치부터 N개의 문자 변환( N 생략시 마지막 문자까지)
  LTRIM(문자열, 지정문자) 문자열 앞쪽부터 확인해 지정 문자가 처음 나타나는 동안 해당 문자를 제거
  RTRIM(문자열, 지정문자) 문자열 뒷쪽부터 확인해 지정 문자가 처음 나타나는 동안 해당 문자를 제거
  TRIM( [ leading | trailing | both ] 지정문자 FROM 문자열 ) 머리말, 꼬리맛, 양쪽 지정 문자 제거 

 

*단일행함수_숫자형 함수

숫자형 함수 함수 설명
  ABS(숫자) 절대값 반환
  SIGN(숫자) 양수, 0, 음수 판변 
  MOD(숫자1, 숫자2) 숫자1을 숫자2로 나누어 나머지 값 반환 (%)
  CEIL / CEILING(숫자) 크거나 같은 최소 정수 반환
(정수값으로 올림)
  FLOOR(숫자 [M]) 작거나 같은 최대 정수 반환
(정수값으로 버림)
  ROUND(숫자 [M]) 소수점 M자리에서 반올림
  TRUNC(숫자 [M]) 소수 M자리 뒤로 잘라서 버림

*단일행함수_날짜형 함수

 

날짜형 함수 함수 설명
  SYSDATE / GETDATE 현재 날짜와 시각 반환
  EXTRACT ( 'YEAR' | 'MONTH' | DAY' FROM D) 년 / 월 / 일 데이터 추출
  DATEPART( 'YEAR' | 'MONTH' | 'DAY' , D) 시간 / 분 / 초도 추출
     

 

*반환형 함수

명시적 반환 : 데이터 반환형 함수로 변환하도록 명시

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

 

*CASE 표현

- CASE 표현은 IF - THEN - ELSE 논리와 유사한 방식으로 표현식을 작성하여, SQL의 비교 연산 기능을 보완하는 역할

-ANSI / ISO 표준에서는 CASE Expression 이라고 표시.

 

*NVL / ISNULL 함수

-테이블 생성시, NOT NULL로 지정하지 않은 모든 데이터 유형은 NULL 값을 가질 수 있음

NYL / ISNULL(판단대상, 대체값) : 판단대상의 값이 NULL이면 대체값 출력

                                            (판단대상과 대체값 데이터 타입이 같아야함)

NULLIF(판단대상, 비교대상) : 판단대상 = 비교대상이면 NULL, 아닐경우 판단대상 리턴

 

COALESCE(표현식1, 표현식2...) : NULL이 아닌 최초의 표현식 리턴, 없으면 NULL 리턴

 

*공집합

-조건에 맞는 데이터가 한 건도 없는 경우

-NULL은 아님

 

**인수값이 공집한인 경우 NVL / ISNULL을 사용해도 공집합이 출력

 

 

NVL / ISNULL -> 널 값을 대체값으로 표현하고 싶을 때 이용

NULLIF -> 특정 값을 NULL로 대체하는 경우에 유용하게 이용

COALESCE -> 함수는 두 개의 중첩된 CASE 문장으로 표현이 가능

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

'메모장' 카테고리의 다른 글

[SQLD] 개념요약 - 과목 1데이터 모델링의 이해  (0) 2022.05.19
[SQLD] 2-1-8. ORDER BY 절  (0) 2022.05.17
[SQLD] 2-1-7. Group By / Having 절  (0) 2022.05.17
[SQLD] 2-1-5. Where 절  (0) 2022.05.12
[SQLD] 2-1-4. TCL  (0) 2022.05.12
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유