오라클SQL 변환함수

Updated:

변환 함수

학습 주제

  • 문자로 변환하기
  • 날짜로 변환하기
  • 숫자로 변환하기

학습 목표

  • 날짜, 숫자를 문자로 변환하여 사용할 수 있다.
  • 문자를 날짜로 변환하여 사용할 수 있다.
  • 문자를 숫자로 변환하여 사용할 수 있다.

변환 함수 사용하기

‘가나다’, ‘abc’ : 문자열

변환 함수

  • 특정 데이터 타입을 다양한 형식으로 출력하고 싶을 경우에 사용된다.
  • 연산의 대상 데이터가 문자형과 숫자형의 혼합인 경우 어느 한 쪽의 데이터 타입으로 변경해야 연산이 가능하다.
    • 오라클의 경우 문자형 데이터를 숫자형으로 바꾸거나 숫자형 데이터를 문자형 데이터로 바꿔 연산을 수행하는데, 이를 암시적(implicit)형 변환 또는 자동 변환이라 한다.
  • 명시적(Explicit) 데이터 유형 변환은 변환 함수를 사용하여 수행된다.
  • 한 데이터 유형을 다른 데이터 유형으로 변환하며, 함수 이름의 형식은 일반적으로 TO_출력 데이터형 규칙을 따른다.

TO_CHAR(날짜)

  • TO_CHAR(날짜, ‘format’) 함수를 이용해 날짜를 format 형태의 문자로 변환한다.
  • 날짜에서 필요한 정보를 뽑아낸다. 년도, 분기, 월 정보, 주, 일, 시간, 분 ,초 등.

예시

SELECT TO_CHAR(SYSDATE, 'YY/MM/DD(DAY) HH:MI:SS') test
FROM dual;

SELECT player_name, birth_date, TO_CHAR(birth_date, 'yyyy')
FROM player
WHERE position = 'GK';

TO_DATE

  • TO_DATE 함수를 사용하여 문자열 날짜형으로 변환한다.
  • TO_DATE(문자, ‘적용할 날짜 요소’)
  • 사용자 지정하지 않은 요소는 기본값으로 저장된다.
    • 년도/월 -> SYSDATE의 년도/월을 기본값으로 한다.
    • 일자/시분초 -> 01일 00시 00분 00초

예시

SELECT '12/11/07' 문자열, TO_DATE('12/11/07', 'yy/mm/dd') 날짜
FROM dual;
--결과: 2012년 11월 07일

SELECT '12/11/07' 문자열, TO_DATE('12/11/07', 'dd/mm/yy') 날짜
FROM dual;
--결과: 2007년 11월 12일

TO_NUMBER

  • TO_NUMBER함수는 숫자 문자열을 숫자형으로 바꿔준다.

예시

SELECT '000123', TO_NUMBER('000123')
FROM dual;

Comments