CS/데이터베이스
[Oracle] 문자형으로 데이터 유형 변환 (TO_CHAR)
김크롱
2020. 8. 21. 22:15
문자형으로 데이터 유형 변환 (TO_CHAR)
: 날짜형, 숫자형 데이터를 문자형 데이터로 변환 출력
--column1이 '한국'인 경우 column2의 요일과 column3의 nickname을 천단위를 구분해 콤마(,)를 붙여 출력
SELECT column1, TO_CHAR(column2, 'DAY') as 요일, TO_CHAR(column3, '999,999') as nickname
FROM tablename
WHERE column1='한국';
* TO_CHAR() : 숫자형 -> 문자형, 날짜형 -> 문자형
SELECT column1, TO_CHAR(column1, 'RRRR') as 연도, TO_CHAR(column1, 'MM') as 달,
TO_CHAR(column1, 'DD') as 일, TO_CHAR(column1, 'DAY') as 요일
FROM tablename
WHERE column2='한국';
날짜 포맷(날짜형 -> 문자형)
연도 | RRRR, YYYY, RR, YY | 주 | WW, IW, W |
월 | MM, MON | 시간 | HH, HH24 |
일 | DD | 분 | MI |
요일 | DAY, DY | 초 | SS |
- 조건으로 활용
-- column2가 '2020'인 경우
SELECT column1, column2
FROM tablename
WHERE TO_CHAR(column2, 'RRRR')='2020';
- EXTRACT() : 추출
-- column2에서 연도/월/일/시간/분/초 추출 : EXTRACT()
SELECT column1 as nickname,
EXTRACT(from column2) as 연도,
EXTRACT(from column2) as 달,
EXTRACT(from column2) as 요일
FROM tablename;
- 숫자 표시
: 단위, 원화
--천단위까지 표시
SELECT column1 as nickname1, TO_CHAR(column2, '999,999') as nickname2
FROM tablename;
--백만단위까지 표시
SELECT column1 as nickname1, TO_CHAR(column2, '999,999,999') as nickname2
FROM tablename;
--L : \(원화) 표시
SELECT column1 as nickname1, TO_CHAR(column2, 'L999,999,999') as nickname2
FROM tablename;