자격증/SQLD자격증

함수 (FUNCTION)

Jong_seoung 2023. 8. 8. 09:51
반응형

단일행 함수

1. SELECT, WHERE, ORDER BY 절에서 사용이 가능하다.

2. 각 행들에 대해 개별적으로 작용하여 데이터 값들을 조작하고, 하나의 인수를 가지는 경우도 있지만 여러 개의 인수를 가질 수도 있다.

3. 특별한 경우가 아니면 함수의 인자로 함수를 사용하는 함수의 중첩이 가능하다.

 

 

문자형 함수

LOWER : 문자열의 알파벳을 소문자로 변경

UPPER : 문자열의 알파벳을 대문자로 변경

ASCII : 문자열의 아스키코드 값을 반환

CHR / CHAR (ASCII)  : 아스키코드를 문자열로 변환

CONCAT : 문자열1과 문자열 2를 연결

SUBSTR/SUBSTRING (문자열, 1, 3) : 문자열의 1부터 3까지 반환

LENGTH : 문자열의 갯수를 숫자로 반환

 

CONCAT('abcd', '1234') = 'abcd 1234'

SUBSTR('SQL EXPERT', 5, 3) = 'EXP'

LTRIM('xxxYYZZxYZ', 'x') = 'YYZZxYZ'

RTRIM('xxxYYZZxYzzz', 'z') = 'xxxYYZZxY'

TRIM('x' FROM 'xxxYYZZxYZxxxx') = 'YYZZxYZ'

 

 

숫자형 함수 

ABS(숫자) : 숫자의 절대값을 반환

SIGN(숫자) : 숫자가 양수인지 음수인지 구별

MOD(숫자 1, 숫자 2) : 숫자 1을 숫자 2로 나누어 나머지 값을 리턴

CEIL/CEILING(숫자) : 숫자보다 크거나 같은 최소 정수를 리턴

FLOOR(숫자) : 숫자보다 작거나 같은 최대 정수 리턴

ROUND(숫자, m) : 소수점 m번째에서 반올림

TRUNC(숫자, m) : 소수점 m에서 버림

SIN, COS, TAN : 삼각함수 값 리턴

 

 

날짜형 함수

SYSDATE : 현재 날짜와 시각 출력

EXTRACT : 날짜에서 데이터 출력

TO_NUMBER(TO_CHAR(d, 'YYYY')) : 연도를 숫자로 출력

TO_NUMBER(TO_CHAR(d, 'MM')) : 달을 숫자로 출력

TO_NUMBER(TO_CHAR(d, 'DD')) : 일을 숫자로 출력

 

 

반환형 함수

반환형 함수는 특정 데이터 타입을 다양한 형식으로 출력하고 싶을 경우 사용됨

명시적 데이터 유형 변환 : 데이터 변환형 함수가 데이터 유형을 변환하도록 명시

암시적 데이터 유형 변환 : 데이터 베이스가 자동으로 데이터 유형을 변환

 

 

CASE 표현

CASE
  SIMPLE_CASE_EXPRESSION 조건
  ELSE 표현절
END
SIMPLE_CASE_EXPRESSION에 대해서 조건이 맞으면 조건절 안에 THEN이 실행 그렇지않으면 표현절 실행
CASE
  SEARCHED_CASE_EXPRESSION 조건
  ELSE 표현절
END
SIMPLE_CASE_EXPRESSION에 대해서 조건이 맞으면 조건절 안에 THEN이 실행 그렇지않으면 표현절 실행
DECODE(표현식, 기준값1, 값1) Oracle에서만 사용됨
표현식의 값이 기준값1이면 값1을 출력

 

 

NULL 관련 함수

NULL은 0 or 공백이 아님

- NVL(식1, 식 2) : 식 1의 값이 NULL이면 식 2 출력, 공집합을 바꿔주진 않음

- NULLIF(식1, 식 2) : 식 1이 식 2와 같으면 NULL을 아니면 식 1을 출력

- COALESCE(식1, 식 2) : NULL이 아닌 최소의 표현식, 모두 NULL이면 NULL 반환

- COALESCE(NULL, NULL, 'abc') -> 'abc'


참고 사이트

요약 정리본 : https://yurimac.tistory.com/40

 

SQL) SQLD 이론 요약 정리 PDF

13페이지 분량의 SQLD 이론 요점 정리 PDF 파일을 공유합니다. 원본에서 필요하다 생각된 부분들을 추가, 삭제했습니다. 나름 오래 걸렸네요.. 🥲 2장 3절인 SQL 최적화 부분은 개정판부터 제거됐다

yurimac.tistory.com

DATE ON-AIR: https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=list 

 

SQL – DATA ON-AIR

 

dataonair.or.kr

 

반응형