본문 바로가기

Learning/SQL

변환형 함수

<변환형 함수>

 

  • 날짜를 문자로, 숫자를 문자로 바꾸는 TO_CHAR

    • TO_CHAR(날짜, 출력형식)

    • TO_CHAR(숫자, 출력형식)

    • <출력형식>

      • , (콤마): 3자리마다 , 를 찍음

      • . (온점): 소수점 형식으로 변환

      • 0: 왼쪽에 0을 삽입

      • $: $통화로 표시

      • L: Local 통화료 표시

      • XXXX: 16진수로 표시

 

1
2
SELECT TO_CHAR(12345678'999,999,999') 콤마
FROM DUAL;
cs

 

 

 


 

1
2
SELECT TO_CHAR(12345678'999,999,999.99') 소수점
FROM DUAL;
cs

 

 


 

1
2
SELECT TO_CHAR(12345678'$999,999,999.99') 달러표시
FROM DUAL;
cs

 

 


 

1
2
SELECT TO_CHAR(12345678'L999,999,999.99') L표시
FROM DUAL;
cs

 

 


 

 

1
2
3
SELECT TO_CHAR(123'09999') 제로표시 
--남는 공간을 0으로 채우기
FROM DUAL;
cs

 

 


 

      • YYYY: 4자리 연도

      • YY: 2자리 연도

      • DAY: 요일 (월, 화..)

 

1
2
3
4
--날짜를 문자로 변환
--년, 월, 일, 시, 분, 초
SELECT TO_CHAR(sysdate, 'YY-MM-DD HH24:MI:SS') 현재날짜시간
FROM DUAL;
cs

 

 


 

1
2
SELECT TO_CHAR(sysdate, 'YYYY/MM/DD HH24:MI:SS') 현재날짜시간
FROM DUAL;
cs

 

 


 

1
2
3
--365일 중 오늘이 며칠?
SELECT TO_CHAR(sysdate, 'DDD') 날짜
FROM dual;
cs

 

 


 

1
2
3
--오늘의 월?
SELECT TO_CHAR(sysdate, 'MONTH') 몇월
FROM dual;
cs

 

 


 

 

<TO_CHAR 예제>

 

  • employees 테이블에서 department_id가 100인 사원들의 입사일을 이용하여 employee_id, 입사월을 출력. (입사월은 월/년도 형식)

 

1
2
3
SELECT employee_id, TO_CHAR(hire_date, 'MM/YY')
FROM employees
WHERE department_id = 100;
cs

 

 


 

  • employees 테이블에서 salary가 10000달러가 넘는 사원들의 이름과 월급을 월급이 많은 순으로 출력 (월급의 표시형식은 $)

 

 

1
2
3
4
SELECT last_name "이름", TO_CHAR(salary, '$99,999.99'"월급"
FROM employees
WHERE salary > 10000
ORDER BY salary DESC;
cs

 

 


 

  • 문자를 날짜로 바꾸는 TO_DATE

  • CHAR, VARCHAR2형을 DATE 타입으로 변환

    • TO_DATE(char, 출력형식)

    • CHAR: n바이트 크기를 가진 문자형 타입. n보다 작으면 나머지 공간을 공백으로 채워서 n바이트를 채움

    • VACHAR: n바이트의 크기를 가진 문자형 타입이지만 저장되는 타입의 크기가 n보다 작으면 n만큼의 길이만큼만 기억장소를 차지하는 가변형 타입. (4000byte까지 저장)

 

1
2
SELECT TO_DATE('2011-01-01''YYYY-MM-DD')
FROM dual;
cs

 

 


 

  • 문자를 숫자로 바꾸는 TO_NUMBER

  • CHAR, VARCHAR2형을 숫자형식으로 변환

    • TO_NUMBER(char)

 

 

1
2
SELECT TO_NUMBER('0123123')+100
FROM dual;
cs

 

 

'Learning > SQL' 카테고리의 다른 글

DECODE 함수, CASE 함수  (0) 2020.06.16
NULL 관련 함수  (0) 2020.06.16
날짜형 함수  (0) 2020.06.15
숫자형 함수  (0) 2020.06.15
문자형 함수  (0) 2020.06.15