반응형
TO_CHAR
문자열 형변환 (NUMBER/DATE → CHARACTER)
TO_CHAR(NUMBER/DATE, 포맷(생략가능))
--숫자를 문자열로
SELECT TO_CHAR(1234)
FROM DUAL; --'1234'
SELECT TO_CHAR(1234,'00000')
FROM DUAL; --'01234' : 빈칸을 지정해준 형식 0으로 채움
SELECT TO_CHAR(1234,'99999')
FROM DUAL; --' 1234' : 빈칸을 ' '(공백)으로 채움
--L : LOCAL 화폐단위표시
SELECT TO_CHAR(1234,'L00000')
FROM DUAL; --₩01234
SELECT TO_CHAR(1234,'L99999')
FROM DUAL; --₩1234
SELECT TO_CHAR(1234,'L99,999')
FROM DUAL; --₩1,234
--급여정보를 3자리마다 ,로 끊어서 출력. 화폐단위 포함
SELECT EMP_NAME, TO_CHAR(SALARY,'L999,999,999') AS 급여
FROM EMPLOYEE;
--날짜를 문자열로
SELECT TO_CHAR(SYSDATE)
FROM DUAL; --'22/03/18'
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD')
FROM DUAL; --'2022-03-18'
--시 분 초 : 오전(AM)/오후(PM)
--10:50:30
SELECT TO_CHAR(SYSDATE, 'PM HH:MI:SS')
FROM DUAL; --'오후 11:25:58' 12시간 형식 AM PM
SELECT TO_CHAR(SYSDATE, 'HH24:MI:SS')
FROM DUAL; --'23:26:19' 24시간 형식 HH24
SELECT TO_CHAR(SYSDATE, 'MON DY, YYYY')
FROM DUAL; --'3월 토, 2022' MON:N월, DY:X(요일)
SELECT TO_CHAR(SYSDATE, 'MON DAY,YYYY')
FROM DUAL; --'3월 토요일,2022' DAY: X요일
--년도를 표현할수 있는 포멧
SELECT TO_CHAR(SYSDATE, 'YYYY') AS "YYYY" --'2022'
,TO_CHAR(SYSDATE, 'RRRR') AS "RRRR" --'2022' R이 반올림(ROUND)
,TO_CHAR(SYSDATE, 'YY') AS "YY" --'22' 앞에 20이 붙지만 생략(20)22
,TO_CHAR(SYSDATE, 'RR') AS "RR" --'22' 50년기준에서 작으면 앞에 20이 붙고 크면 19가 붙음
,TO_CHAR(SYSDATE, 'YEAR') AS "YEAR" --'TWENTY TWENTY-TWO'
FROM DUAL;
--월을 표현할수 있는 포멧
SELECT TO_CHAR(SYSDATE,'MM') AS "MM" --'03'
,TO_CHAR(SYSDATE, 'MON') AS "MON" --'3월'
,TO_CHAR(SYSDATE, 'MONTH') AS "MONTH" --'3월'
,TO_CHAR(SYSDATE, 'RM') AS "RM" --'III' 로마숫자로 표기
FROM DUAL;
--일을 표현할수 있는 포멧
SELECT TO_CHAR(SYSDATE,'D') --일주일 기준으로 일요일부터 몇일째인지 알려주는 포맷
,TO_CHAR(SYSDATE,'DD') --한달 기준으로 1일부터 몇일째인지 알려주는 포맷
,TO_CHAR(SYSDATE,'DDD') --일년 기준으로 1/1부터 몇일째인지 알려주는 포맷
FROM DUAL;
--요일로 쓸수 있는 포멧
SELECT TO_CHAR(SYSDATE,'DY') -- 요일단위 미포함 EX)금
,TO_CHAR(SYSDATE,'DAY') -- 요일단위 포함 EX)금요일
FROM DUAL;
--'2022년 03월 18일 (금)' 포맷으로 조회
SELECT TO_CHAR(SYSDATE, 'YYYY"년" MM"월" DD"일" (DY)')
FROM DUAL;
--2010년 이후에 입사한 사원들의 이름과 입사일을 위의 포멧으로 출력
SELECT EMP_NAME AS 직원명, TO_CHAR(HIRE_DATE, 'YYYY"년" MM"월" DD"일" (DY)') AS 입사일
FROM EMPLOYEE
WHERE EXTRACT(YEAR FROM HIRE_DATE) >= 2010;
반응형
'DB(SQL)' 카테고리의 다른 글
[SQL] 단일행 함수 - NULL처리 함수 NVL, NVL2, NULLIF (0) | 2022.03.26 |
---|---|
[SQL] 단일행 함수 - 형변환 함수 TO_DATE, TO_NUMBER (0) | 2022.03.26 |
[SQL] DDL 데이터 정의 언어 변경 (0) | 2022.03.26 |
[SQL] 날짜 관련 함수 (0) | 2022.03.26 |
[SQL] 숫자 관련 함수 (0) | 2022.03.26 |