-
Oracle 함수(Function) - 형 변환 함수데이터베이스/Oracle 2020. 11. 11. 11:46728x90반응형
형 변환 함수
형 변환 함수란 날짜 또는 숫자형 데이터를 문자형으로 바꾸어 주거나
문자형 데이터를 숫자 데이터로 형변환 해준다.
즉, 이렇게 숫자를 문자로, 문자를 날짜로 형변환 하거나
날짜를 문자로, 문자를 숫자로 형변환 할 수 있다.
이제 TO_CHAR, TO_DATE, TO_NUMBER을 알아보자!
TO_CHAR
TO_CHAR란 날짜 혹은 숫자형 데이터를 문자형 데이터로 변환하여 반환한다.
- DATE : 문자형으로 변환하려는 날짜형 데이터
- NUMBER : 문자형으로 변환하려는 숫자형 데이터
- FORMAT : 문자형으로 변환 시 지정할 출력 형식
FORMAT
날짜 데이터를 문자형 데이터로 바꾸기위해선 FORMAT 형식을 알아야 한다.
[ TO_CHAR 예시 ]
날짜를 문자로 형변환
SELECT EMP_NAME, TO_CHAR(HIRE_DATE, 'YYYY-MM-DD'), -- 년도 4자리, 월, 일표현 2자리 TO_CHAR(HIRE_DATE, 'YY/MON, DAY, DY') -- 년도표현 2자리 FROM EMPLOYEE;
숫자를 문자로 형변환
SELECT EMP_NAME, TO_CHAR(SALARY, ‘L999,999,999’), -- 오른쪽 정렬, 빈칸 공백 TO_CHAR(SALARY, ‘000,000,000’) -- 오른쪽 정렬, 빈칸 0 채움 FROM EMPLOYEE;
9와 0은 둘다 숫자로 채우는 FORMAT이다.
9는 빈칸 / 0은 빈칸에 0을 채워준다.
하지만, 설정한 포맷의 범위를 넘어서면 값이 모두 #으로 조회된다.
L을 들어가면 현재 설정된 나라의 화페단위를 표시해준다.
다른 나라의 화폐단위를 표시하고 싶으면 L대신 다른나라의 화폐단위를 적는다.
예) '$99,999'
TO_DATE
TO_DATE란 숫자 혹은 문자형 데이터를 날짜형 데이터로 변환하여 반환한다.
- CHARACTER : 날짜형으로 변환하려는 문자형 데이터
- NUMBER : 날짜형으로 변환하려는 숫자형 데이터
- FORMAT : 날짜형으로 변환 시 지정할 출력 형식
[ TO_DATE 예시 ]
- EMPLOYEE테이블에서 2000년도 이후에 입사한 사원의 사번, 이름, 입사일 조회
SELECT EMP_NO, EMP_NAME, HIRE_DATE FROM EMPLOYEE WHERE HIRE_DATE > TO_DATE(20000101, ‘YYYYMMDD’);
TO_DATE를 이용한 변환시 데이터의 FORMAT 중에서 YY와 RR의 차이를 알아보자.
YY와 RR의 차이점
YY란 현재 세기(21C == 20XX년대)를 적용 한다.
RR란 읽어들인 값이 50년 이상이면 이전세기(2C = 19XX년대)를 적용 한다.
TO_NUMBER
TO_NUMBER란 날짜 혹은 문자형 데이터를 숫자형 데이터로 변환하여 반환한다.
- CHARACTER : 숫자형으로 변환하려는 문자형 데이터
- FORMAT : 날짜형으로 변환 시 지정할 출력 형식
[ TO_NUMBER 예시 ]
SELECT TO_NUMBER('1,000,000', '99,999,999') -- 문자열 타입을 숫자로 형변환 - TO_NUMBER('550,000', '999,999') -- 문자열 타입을 숫자로 형변환 FROM DUAL;
728x90반응형'데이터베이스 > Oracle' 카테고리의 다른 글
Oracle 함수(Function) - 그룹 함수 (0) 2020.11.11 Oracle 함수(Function) - NULL 처리 함수와 선택 함수 (0) 2020.11.11 Oracle 함수(Function) - 날짜 처리 함수 (0) 2020.11.10 Oracle 함수(Function) - 숫자 처리 함수 (0) 2020.11.10 Oracle 함수(Function) - 문자 처리 함수 (0) 2020.11.09