DBMS
[SQL] 변환함수 CAST, 제어흐름함수
div_yeri
2023. 1. 30. 19:00
728x90
변환함수
▶DATE_FORMAT(날짜, 형식)
SELECT date_format(now(), '%Y-%M-%d') AS "Now";
▶CAST(값 AS 데이터타입)
- BINARY
- CHAR (문자형)
- SIGNED (부호 있는 정수형) / UNSIGNED (부호 없는 정수형)
- DECINAL (숫자형) / DOUBLE (숫자형) / FLOAT (숫자형)
- DATETIME (날짜형) / DATE (날짜형)
- TIME (시간)
SELECT cast("123" as signed), cast("-123.55" as signed),
cast("123" as unsigned), cast("-123.45" as unsigned);
제어흐름함수
▶IF(논리식, 참일 때 값, 거짓일 때 값) : 논리식이 참이면 참일 때 값을 출력 거짓이면 거짓일때 값을 출력
SELECT employee_id, salary, IF(salary>10000, '1등급', '2등급') AS "급여 등급"FROM employees;
▶IFNULL(수식1, 수식2) : 수식1이 NULL이 아니면 수식1이 반환, NULL이면 수식2가 반환
SELECT employee_id, last_name, salary, commission_pct, ifnull(commission_pct, 0) FROM employees;
▶NULLIF(수식1, 수식2) : 수식1,2가 같으면 NULL 반환 다르면 수식1을 반환
▶CASE 비교값 WHEN 값1 THEN 결과1
WHEN 값2 THEN 결과2 ... ... ELSE 기본값 END
select job_id ,case job_id
when 'AD_PRES' then 'A'
when 'ST_MAN' then 'B'
when 'IT_PROG' then 'C'
when 'SA_REP' then 'D'
when 'ST_CLERK' then 'E'
else '0' end as grade from employees;