변환함수
- 자료형의 변환을 담당하는 함수
- CAST, TO_CHAR, TO_NUMBER, TO_DATE 등
1. CAST (expr AS TYPE)
- expr로 표현된 값을 TYPE 형식으로 변환
ex) 회원테이블의 회원 마일리지(숫자형식)를 문자형식으로 변환
SELECT mem_id,
mem_name,
mem_mileage,
CAST(mem_mileage AS CHAR(10))
FROM member;
-- 출력 결과 --
2. TO_CHAR ( c | d | n [, fmt] )
- 날짜, 숫자, 문자 자료를 지정된 형식의 문자열 자료로 변환
-------------------------------------------------------------------------
형식지정문자 의미
-------------------------------------------------------------------------
AD, BC, CC 세기
YYYY, YYY, YY, Y 년도
MONTH, MON, MM, RM 월
W, WW, RW 주차
Q 분기
DD, DDD, J 일
DAY, DY, D 주의 요일
AM, PM, A.M, P.M 오전오후
HH, HH12, HH24 시간
MI 분
SS, SSSSS 초
"문자열" 사용자 정의 문자열
-------------------------------------------------------------------------
ex)
SELECT TO_CHAR(SYSDATE, 'AD YY')
FROM DUAL;
-- 출력 결과 --
ex) DD : 해당 월에서 경과된 날짜
SELECT SYSDATE,
TO_CHAR(SYSDATE, 'YYYY-DD')
FROM DUAL;
-- 출력 결과 --
** 숫자 변환 문자열
------------------------------------------------------------------------------------------------------------------
형식 문자열 의미
------------------------------------------------------------------------------------------------------------------
9 대응되는 데이터가 유효숫자이면 원본자료를 출력하고
대응되는 데이터가 무효의 0이면 공백처리 -- 1 + '99999' => ' 1'
0 대응되는 데이터가 유효숫자이면 원본자료를 출력하고
대응되는 데이터가 무효의 0이면 '0'을 출력 -- 1 + '00000' => '00001'
$,L(l) 화폐기호를 출력 -- L : location 정보에 따라 화폐 기호 출력
MI 데이터가 음수인 경우 우측에 '-' 부호 출력 (반드시 형식문자열 맨 우측에 기술)
PR 데이터가 음수인 경우 '-' 부호 대신 '< >'로 묶어 출력
,(comma) 3자리마다 자리점 출력
.(dot) 소숫점 출력
------------------------------------------------------------------------------------------------------------------
ex) 상품테이블에서 거래처가 대우전자('P10201')의 제품정보를 조회하시오.
Alias는 상품명, 매입가, 판매가, 할인판매가, 할인판매이익이며 할인판매이익은 할인판매가 - 매입가 이고,
음수인 경우 < >안에 출력하시오.
SELECT prod_name AS 상품명,
TO_CHAR(prod_cost, '9,999,999') AS 매입가,
TO_CHAR(prod_price, '9,999,999') AS 판매가,
TO_CHAR(prod_sale, '9,999,999') AS 할인판매가,
TO_CHAR(prod_sale-prod_cost, '9,999,999') AS 할인판매이익
FROM prod
WHERE UPPER(prod_buyer) = 'P10201';
-- 출력 결과 --
3. TO_NUMBER ( c [, fmt] )
- 주어진 문자열 c (숫자형식)를 숫자로 변환
- fmt는 TO_CHAR 형식과 동일하나 모두 적용되지는 않음
4. TO_DATE ( c [, fmt] )
- 날짜 형식의 문자열 c에 저장된 자료를 날짜형으로 변환
- fmt는 TO_CHAR 형식과 동일
SELECT TO_DATE('20051001')
FROM DUAL;
-- 출력 결과 --
'💻Programming > Oracle' 카테고리의 다른 글
[Oracle/오라클] 서브쿼리 (0) | 2021.03.20 |
---|---|
[Oracle/오라클] 그룹함수 (0) | 2021.03.19 |
[Oracle/오라클] 날짜형 함수 (0) | 2021.03.15 |
[Oracle/오라클] NULL처리 함수 (0) | 2021.03.15 |
[Oracle/오라클] 테이블 조인 (내부조인) (0) | 2021.03.15 |
댓글