근거 있는 일하기_SQL

ORACLE DB 함수 (4. 형 변환 함수)

은행 다니는 하이디 2024. 4. 15. 22:21

TO_CHAR(datetime): datetime을 문자로 변환

SELECT SYSDATE
      ,TO_CHAR(SYSDATE,'Month DD, YYYY')
      ,TO_CHAR(SYSDATE,'YYYY')
      ,TO_CHAR(SYSDATE,'MM')
      ,TO_CHAR(SYSDATE,'DD')
      ,TO_CHAR(SYSDATE,'HH24:MI:SS')
  FROM dual ;

 

날짜로 저장되어 있는 데이터를 문자열로 변환함. 그중 뭘 어떤방식으로 가져올건가? 를 다양한 형태로 고를 수 있음

구분 입력 출력(영문) 출력(한글)
연도 YYYY 2024 //
  YEAR TWENTY TWENTY-FOUR //
  Year Twenty Twenty-Four //
MM 04 //
  Month April 4월
  MON APR 4월
DD 15 //
  DAY MONDAY 월요일
  DY MON
  D 2 (1이 일요일, 2는 화요일) //
분기 Q //
W 3  

 

 

TO_CHAR(number): number를 문자로 변환

숫자가 아주 길어지는 경우 중간에 콤마를 찍어주고 싶거나 통화표시를 해주고 싶을 때 유용

기본적으로 자릿수는 우리가 정해줘야한다

 

 

TO_DATE: 문자를 날짜로 변환 

  • 물론 종종 그냥 프로그램이 이건 날짠갑다 하고 오라클이 암시적으로 형변환해서 돌려줄때도 있지만, 상황에 따라 안될수도 있으니 가급적 명시적으로 바꿔서 쓰자

날짜로 바뀌니까 날짜를 보여주는 포맷에 맞게 시분초까지 보여준다

 

 

TO_NUMBER: 문자를 숫자로 변환

  • 날짜를 숫자로 바꿀 수는 없다.
  • 쓸 일이 많지는 않다. 근데 위에 TO_CHAR에서 콤마나 통화표시가 들어간 문자타입들을 숫자로 바꿔주고 싶을때 사용할 수 있다

 

통화기호가 $이거고 자릿수는 9,999다 라고 알려주면 얘를 숫자형태로 바꿀 수 있음. 

 

 

출처 : https://youtu.be/gctZOCqkGtQ?si=-gXlYz75gst8lg72