Tiny Star

📊DataBase/📈SQL

[🪪SQLD] 2과목 - SQL 기본 : 함수 (24년 개정 요약)

청크 2024. 2. 22. 12:06

· 내장형 함수

 -> 모든 데이터베이스는 SQL에서 사용할 수 있는 내장형 함수를 보유함

 -> DBMS 벤더별로 약간의 차이가 있지만 거의 비슷한 방법으로 사용

 

· DUAL 테이블

 -> Oracle 데이터 베이스에 의해서 자동으로 생성되는 테이블로 사용자가 임시로 사용할 수 있는 테이블이며 내장형 함수 실행 시에도 사용이 가능

 

· WITH

 -> 서브 쿼리를 사용해서 임시 테이블 또는 뷰처럼 사용할 수 있는 구문으로 블록에 별칭을 지정할 수 있음

 -> 옵티마이저는 SQL을 인라인 뷰나 임시테이블로 판단

 

· 내장형 함수의 종류

 [문자열 함수]

 1) ASCII (문자) : 문자/숫자를 ASCII 코드 값으로 변환

 2) CHR / CHAR (ASCII 코드 값) : ASCII코드 값을 문자로 변환

   - Oracle : CHR, MS-SQL, MySQL : CHAR 사용

 3) SUBSTR (문자열, m, n) : 문자열 m번째 위치부터 n개를 자름

 4) CONCAT (문자열1, 문자열2) : 문자열1과 문자열2를 결합

   - Oracle : ‘||’ , MS- SQL : ‘+’ 사용 가능

 5) LOWER (문자열) : 영문을 소문자로 변환

 6) UPPER (문자열) : 영문을 대문자로 변환

 7) LENGTH / LEN (문자열) : 공백포함 문자열의 길이를 알려줌

 8) LTRIM (문자열, 지정문자) : 왼쪽에서 지정된 문자를 삭제

 9) RTRIM (문자열, 지정문자) : 오른쪽에서 지정된 문자를 삭제

 10) TRIM (문자열, 지정문자) : 왼쪽 및 오른쪽에서 지정된 문자 삭제

    - LTRIM / RTRIM / TRIM 모두 지정문자를 생략 시 공백을 삭제

 

 [날짜형 함수]

 1) SYSDATE : 오늘의 날짜를 날짜타입으로 반환

 2) EXTRACT (YEAR FRㅐM SYSDATE) : 날짜에서 년,월,일 조회

 

 [숫자형 함수]

 1) ABS (숫자) : 절댓값 반환

 2) SIGN (숫자) : 양수, 음수, 0을 구분

 3) MOD (숫자1, 숫자2) : 숫자 1을 숫자 2로 나는 나머지를 계산 (%)

 4) CEIL / CEILING (숫자) : 숫자보다 크거나 같은 최소의 정수 반환

 5) FLOOR (숫자) : 숫자보다 작거나 같은 최대의 정수 반환

 6) ROUND (숫자, m) : 소수점 m자리에서 반올림 (m의 기본값은 0)

 7) TRUNC (숫자, m) : 소수점 m자리에서 절삭 (m의 기본값은 0)

 

· DECODE (조건1, 결과값, ‘TRUE’, ‘FALSE’)

 -> IF문처럼 조건1이 결과값에 참이면 TRUE, 거짓이면 FALSE

 

· CASE

 -> 조건을 WHEN구에 사용, 조건이 참이면 THEN 거짓이면 ELSE

 

 [CASE문의 구조]

CASE [ expression ]
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
… ELSE result END