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의 지수 (주로 환율 계산에 사용)
예시
- 날짜를 'YYYY-MM-DD' 포맷의 문자열로 변환:이 쿼리는 현재 날짜를 'YYYY-MM-DD' 형식의 문자열로 변환합니다.
- 숫자를 통화 형식으로 변환:이 쿼리는 숫자 1234567을 '$1,234,567' 형태의 통화 포맷으로 변환합니다.
- 날짜와 시간을 '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 함수의 지원 여부와 사용법을 확인하는 것이 중요합니다.
반응형