SQL

SQL to_char 날짜 데이터 문자열로 변환

수박비빔밥 2024. 4. 6. 01:34
반응형

TO_CHAR 함수는 SQL에서 숫자나 날짜 데이터 타입을 문자열로 변환할 때 사용됩니다. 이 함수는 다양한 포맷 옵션을 제공하여, 데이터를 특정 형식의 문자열로 포매팅하는 데 유용합니다. TO_CHAR 함수를 사용하면 날짜, 시간, 숫자 데이터를 보다 읽기 쉬운 형태나 다른 용도로 활용할 수 있는 문자열 형태로 변환할 수 있습니다.

구조

TO_CHAR 함수의 기본 구조는 다음과 같습니다:

  • value: 문자열로 변환할 숫자나 날짜입니다.
  • 'format_model': 변환될 문자열의 포맷을 지정하는 문자열입니다. 날짜, 시간, 숫자 값에 대한 다양한 포맷 옵션이 있습니다.

날짜/시간 포맷 지정자

  • YYYY / YY: 연도 (4자리 / 2자리)
  • MM: 월 (01-12)
  • MON: 약어로 된 월 이름 (Jan, Feb, ...)
  • MONTH: 전체 월 이름 (January, February, ...)
  • DD: 일 (01-31)
  • Dy: 약어로 된 요일 이름 (Mon, Tue, ...)
  • DAY: 전체 요일 이름 (Monday, Tuesday, ...)
  • HH, HH12, HH24: 시간 (12시간 혹은 24시간 포맷)
  • MI: 분 (00-59)
  • SS: 초 (00-59)
  • FF: 소수점 이하의 초 (밀리초)
  • AM, PM: 오전/오후 지정자

숫자 포맷 지정자

  • 9: 숫자를 나타내며, 값이 없을 경우 공백을 표시합니다.
  • 0: 숫자를 나타내며, 값이 없을 경우 0을 표시합니다.
  • D: 소수점 기호 (지역 설정에 따라 다름)
  • ,: 천 단위 구분 기호
  • L: 통화 기호 (지역 설정에 따라 다름)
  • TM: 텍스트 최소화 지정자, 필요 없는 공백을 제거합니다.
  • PR: 음수 값을 괄호로 표시합니다.
  • S: 부호 (양수 또는 음수)
  • V: 값에 곱할 10의 지수 (주로 환율 계산에 사용)

예시

  1. 날짜를 'YYYY-MM-DD' 포맷의 문자열로 변환:이 쿼리는 현재 날짜를 'YYYY-MM-DD' 형식의 문자열로 변환합니다.
  2. 숫자를 통화 형식으로 변환:이 쿼리는 숫자 1234567을 '$1,234,567' 형태의 통화 포맷으로 변환합니다.
  3. 날짜와 시간을 'Month DD, YYYY, HH:MI AM' 포맷으로 변환:이 쿼리는 현재 날짜와 시간을 'March 24, 2024, 08:00 AM'과 같은 형식의 문자열로 변환합니다.

 

 

 

 

 

 

지원하는 DBMS

  • 지원하는 DBMS:
    • Oracle: TO_CHAR 함수를 폭넓게 지원하며, 숫자와 날짜 데이터를 문자열로 변환하는 다양한 옵션을 제공합니다.
    • PostgreSQL: TO_CHAR 함수를 지원하며, Oracle과 유사한 기능성을 제공합니다.
  • 지원하지 않는 DBMS:
    • MySQL: MySQL에서는 DATE_FORMAT 함수를 사용하여 날짜를 문자열로 변환하고, FORMAT 함수를 사용하여 숫자를 포매팅합니다. TO_CHAR 함수는 직접 지원하지 않습니다.
    • Microsoft SQL Server: SQL Server에서는 FORMAT 함수를 사용하여 날짜와 숫자를 특정 포맷의 문자열로 변환할 수 있습니다. TO_CHAR 함수는 직접 지원하지 않습니다.
    • SQLite: SQLite는 날짜와 시간을 포매팅하기 위해 strftime 함수를 제공하고, 숫자 포매팅을 위한 직접적인 TO_CHAR 함수는 제공하지 않습니다.

TO_CHAR 함수는 데이터를 보고서 형식으로 전환하거나, 사용자 인터페이스에서 보다 읽기 쉬운 형태로 표시해야 할 때 매우 유용합니다. 다만, 사용하고 있는 DBMS에서 TO_CHAR 함수의 지원 여부와 사용법을 확인하는 것이 중요합니다.

반응형