SQL/함수
FUNCTION(3) - 단일행 함수(형 변환 함수 - TO CHAR)
jjhim531
2024. 8. 13. 19:45
반응형
<< 형변환 함수 >>
< TO_CHAR >
숫자 타입 또는 날짜 타입의 값을 문자타입으로 변환시켜주는 함수
[표현법]
TO_CHAR( 숫자 | 문자 , ' 포맷 ' )
* 포맷 :
- 9 : 자릿수만큼 공간을 확보한다. 오른쪽 정렬.
SELECT
to_char(12, '99999')
FROM
dual;
- 0 : 자릿수만큼 공간을 확보한다. 왼쪽부터 빈 공간을 0으로 채워준다.
SELECT
to_char(12, '00000')
FROM
dual;
- L99999... : 현재 설정된 나라의 로컬 화폐단위가 나타남.
- $99999.... : 화폐단위가 $로 나타남.
SELECT
to_char(2000000, 'L9999999')
FROM
dual;
SELECT
to_char(3500000, 'L9,999,999')
FROM
dual;
< 주의!! >
* 만약 특정 숫자보다 9의 갯수를 적게 적어주면 결과값이 전부 ####...으로 표시된다.
* 만약 특정 숫자보다 9의 갯수를 많이 적어주면 남는 공간은 왼쪽에 공백으로 자리가 확보되어 보여진다.
<< 날짜 타입 ---> 문자타입 >>
SELECT
to_char(sysdate, 'HH:MI:SS')
FROM
dual;
SELECT
to_char(sysdate, 'HH24:MI:SS')
FROM
dual;
SELECT
to_char(sysdate, 'YYYY-MM-DD DAY DY')
FROM
dual;
SELECT
to_char(sysdate, 'MON, YYYY')
FROM
dual;
SELECT
to_char(sysdate, 'YYYY"년" MM"월" DD"일" HH:MI:SS')
FROM
dual;
SELECT
emp_name,
to_char(hire_date, 'YYYY"년" MM"월" DD"일"')
FROM
employee;
>> "연도"와 관련된 포맷 <<
SELECT
to_char(sysdate, 'YYYY'),
to_char(sysdate, 'YY'),
to_char(sysdate, 'RRRR'), -- RR룰이 따로 존재한다 -> 50년 이상 값이면 + 100 EX) 1954
to_char(sysdate, 'YEAR') --기본적으로 영어로 나오지만
--프로그램에서 자동으로 한글로 출력해주는 경우(월, 요일 등)가 종종있다.
FROM
dual;
>> "월"과 관련된 포맷 <<
SELECT
to_char(sysdate, 'MM'),
to_char(sysdate, 'MON'),
to_char(sysdate, 'MONTH')
FROM
dual;
>> "일"과 관련된 포맷 <<
SELECT
to_char(sysdate, 'DDD'), -- 오늘이 이번년도에 몇번째 일수
to_char(sysdate, 'DD'), --오늘 일자
to_char(sysdate, 'D') -- 요일 -> 숫자 ex) 금요일이면 6
FROM
dual;
>> "요일"과 관련된 포맷 <<
SELECT
to_char(sysdate, 'DAY'),
to_char(sysdate, 'DY')
FROM
dual;
<< 요약 >>
728x90
반응형