개발/SQL
[SQL] Oracle - (함수)단일행함수 - 형변환함수 / NULL처리 함수
하더
2022. 9. 27. 19:10
< 형변환 함수 ( TO_CHAR ) >
- 숫자형/날짜형 데이터를 문자형 타입으로 변환하여 반환
(NUMBER / DATE => CHARACTER)
-- DUAL : 가상테이블(DUMMY TABLE)
SELECT TO_CHAR(1234, '00000')
FROM DUAL; --> 빈칸에 0을 채워넣겠다. -> '01234'
SELECT TO_CHAR(1234, '99999')
FROM DUAL; --> 빈칸에 공백을 채워넣겠다.
SELECT TO_CHAR(1234, 'L00000')
FROM DUAL; --> 'L' 통화 표시
SELECT TO_CHAR(1234, 'L99,999')
FROM DUAL; --> 'L' 통화 표시, ','기호 표시
SELECT EMP_NAME, TO_CHAR(SALARY, 'L999,999,999') "급여"
FROM EMPLOYEE;
< 널 처리 함수 ( NVL ) >
- 해당 컬럼값이 null일 경우, 반환할 결과값을 넣어주는 함수
- NVL = Null VaLue
[ 표현법 ] NVL(컬럼명, 반환할 결과값)
-- 보너스를 포함한 연봉 조회
-- 보너스에 null값이 있을 경우, 연산 불가능! -> NVL함수로 0을 넣어줌
SELECT EMP_NAME, BONUS, (SALARY + SALARY * NVL(BONUS, 0)) * 12 "보너스 포함 연봉"
FROM EMPLOYEE;
> NVL2
[ 표현법 ] NVL(컬럼명, null이 아닐때 반환할 결과값, null일때 반환할 결과값)
-- 부서코드가 있으면 '부서있음', 없으면 '부서없음' 반환
SELECT EMP_NAME "이름", NVL2(DEPT_CODE, '부서있음', '부서없음') "부서"
FROM EMPLOYEE;