[ SQLD ]
1. SQL 기본
1-6. FUNCTION
1. 내장 함수(BUILT-IN FUNCTION)
SQL 안에서 사용하기 위해 정의 되어진 함수들 DBMS 마다 차이가 있지만 거의 비슷하다.
2. 내장함수 종류
문자열 함수 : 문자를 숫자나 문자로 변환
문자열 함수 | 설명 |
ASCII (문자) | 문자나숫자를 ASCII 코드로 변환 |
CHAR (ASCII 코드 값) | AISCII 코드값을 문자나 숫자로 변환 |
LOWER (문자열) | 알파벳 소문자를 대문자로 변환 |
UPPER (문자열) | 알파벳 대문자를 소문자로 변환 |
CONCAT (문자열1, 문자열2) | 문자열1번과 2번을 결합한다 Oracle - 'll' SQL Server - '+' |
SUBSTR (m,n) | 문자열 m 위치에서 n 길이를 자른다. |
LENGTH (문자열) | 문자열의 길이 출력 |
LTRIM (문자열,지정문자) | 문자열 왼쪽부터 지정문자가 나타나면 문자를 삭제한다. |
RTRIM (문자열,지정문자) | 문자열 오른쪽부터 지정문자가 나타나면 문자를 삭제한다. |
TRIM (문자열,지정문자) | 문자열 양쪽으로 지정문자가 나타나면 문자를 삭제한다. |
숫자형 함수 : 숫자 연산 처리 함수
숫자형 함수 | 설명 |
ABS (숫자) | 절대값을 돌려준다. ex) ABS(10.1) = 10 |
SIGN (숫자) | 양수, 음수, 0 중 구별 1(양수) -1(음수) 0(0) ex) SIGN(10.1) = 1 |
MOD (숫자1, 숫자2) | 숫자1을 숫자2로 나눈 나머지 값을 리턴 (연산자 %) ex) MOD(10,3) = 1 |
CEIL / CELLING (숫자) | 숫자보다 크거나 같은 최소 정수 리턴 ex) CEIL(10.1) = 11 |
FLOOR (숫자) | 숫자보다 작거나 같은 최대 정수 리턴 ex) FLOOR(10.1) = 10 |
ROUND (숫자, m) | 숫자를 소수점 m 자리에서 반올림 m의 기본값은 0 ex) ROUND(10.123) = 10 |
TRUNC (숫자, m) | 숫자를 소수점 m자리까지만 출력 m의 기본값은 0 ex) TRUNC(10.123, 2) = 10.12 |
날짜형 함수 : DATE 타입 연산
날짜형 함수 | 설명 |
SYSDATE | 현재 날짜 출력 |
EXTRACT | 날짜 데이터 중 년,월,일 출력 |
변환형 함수 : 데이터 형 변환 하는 함수
명시적 변환형 - 밑의 변환형 함수를 이용하여 개발자가 형변환 시키는 것
암시적 변환형 - DBMS가 자동으로 형변환 시키는 것
변환형 함수 | 설명 |
TO_NUMBER (문자열) | 문자열을 숫자로 변환 |
TO_CHAR (숫자or날짜, [FORMAT]) | 숫자 혹은 날짜를 FROMAT 형태의 문자열로 변환 |
TO_DATE(문자열, [FORMAT]) | 문자열을 FORMAT 형태의 날짜형으로 변환 |
3. NULL 함수
NULL : 아직 정의 되지 않은 값으로 값이 없는 값
NULL 함수 | 설명 |
NVL (표현식 1, 표현식2) | 표현식1이 null 값이라면 표현식2를 출력 |
VNL2 (표현식1, 표현식2, 표현식3) | 표현식1이 NULL이 아니라면 표현식2 출력 표현식1이 NULL이면 표현식3을 출력 |
NULLIF (표현식 1, 표현식2) | 포현식1=표현식2 라면 NULL 출력 같지 않으면 표현식1 출력 |
COALESCE (표현식1, ~ , 표현식n) | 차례대로 NULL이 아니면 표현식1 출력 포현식1이 NULL이라면 표현식2가 NULL 여부 판단 모든 표현식이 NULL 이라면 NULL 출력 한마디로 NULL값이 아닌 첫번째 표현식을 출력하고싶을 때 NULL값이라면 뒤로 패스 패스 후 NULL값이 아니라면 그 표현식 출력 모두 NULL값이면 NULL 출력 |
4. CASE문 : WHEN의 조건에 참이면 THEN을 실행하고 거짓이면 ELSE를 실행한다.
CASE [~]
WHEN [~] THEN [~]
ELSE [~]
END
CASE 실행예제
SELECT CASE
WHEN NO = 1000 THEN '하'
WHEN NO = 2000 THEN '중'
ELSE '상'
END
FROM PLAY;
-> NO 값이 1000 이면 하 2000이면 중 나머지는 상으로 출력하라.
5. DECODE문 : 특정조건이 참이면 A 거짓이면 B를 출력하는 문
SELECT DECODE(NO, 1000, '참', '거짓') FROM PLAY;
-> NO 값이 1000이면 참을 출력하고 1000이 아니면 거짓을 출력하라.
'[자격증] SQLD(SQL개발자) > ↘ SQL 기본 및 활용' 카테고리의 다른 글
[ SQLD ] SQL 기본 - 8. ORDER BY 절 (0) | 2020.05.27 |
---|---|
[ SQLD ] SQL 기본 - 7. GROUP BY, HAVING 절 (0) | 2020.05.27 |
[ SQLD ] SQL 기본 - 5. WHERE 절 (0) | 2020.05.26 |
[ SQLD ] SQL 기본 - 4. TCL (Transaction Control Language) (트랙잭션 제어 명령어) (0) | 2020.05.26 |
[ SQLD ] SQL 기본 - 3. DML (Data Manipulation Language) (데이터 조작어) (0) | 2020.05.26 |
댓글