보고용 날짜 서식 지정

SQL Server에서의 시계열 분석

Maham Faisal Khan

Senior Data Science Content Developer

서식 지정 함수

CAST()

CONVERT()

FORMAT()

SQL Server에서의 시계열 분석

CAST() 함수

  • 최소 SQL Server 2000부터 지원
  • 데이터 형식(날짜 포함) 간 변환
  • 날짜→문자열 서식 제어 불가
  • ANSI SQL 표준: 대부분의 관계형·비관계형 DB에서 지원
SQL Server에서의 시계열 분석

CAST() 함수 사용

DECLARE
    @SomeDate DATETIME2(3) = '1991-06-04 08:00:09',
    @SomeString NVARCHAR(30) = '1991-06-04 08:00:09',
    @OldDateTime DATETIME = '1991-06-04 08:00:09';
SELECT
    CAST(@SomeDate AS NVARCHAR(30)) AS DateToString,
    CAST(@SomeString AS DATETIME2(3)) AS StringToDate,
    CAST(@OldDateTime AS NVARCHAR(30)) AS OldDateToString;
DateToString StringToDate OldDateToString
1991-06-04 08:00:09.000 1991-06-04 08:00:09.000 Jun 4 1991 8:00AM
SQL Server에서의 시계열 분석

CONVERT() 함수

  • 최소 SQL Server 2000부터 지원
  • 데이터 형식 변환(날짜 포함)에 유용
  • 스타일 매개변수로 날짜→문자열 일부 서식 제어
  • T-SQL 전용
SQL Server에서의 시계열 분석

CONVERT() 함수 사용

DECLARE
    @SomeDate DATETIME2(3) = '1793-02-21 11:13:19.033';
SELECT
    CONVERT(NVARCHAR(30), @SomeDate, 0) AS DefaultForm,
    CONVERT(NVARCHAR(30), @SomeDate, 1) AS US_mdy,
    CONVERT(NVARCHAR(30), @SomeDate, 101) AS US_mdyyyy,
    CONVERT(NVARCHAR(30), @SomeDate, 120) AS ODBC_sec;
GO
DefaultForm US_mdy US_mdyyyy ODBC_sec
Feb 21 1793 11:13 AM 02/21/93 02/21/1793 1793-02-21 11:13:19
SQL Server에서의 시계열 분석

CONVERT() 스타일 예시

스타일 코드

  • 1 / 101
  • 3 / 103
  • 4 / 104
  • 11 / 111
  • 12 / 112
  • 20 / 120
  • 126
  • 127

형식

  • 미국 m/d/y
  • 영국/프랑스 d/m/y
  • 독일 d.m.y
  • 일본 y/m/d
  • ISO 표준 yyyymmdd
  • ODBC 표준(ms는 121)
  • ISO8601 yyyy-mm-dd hh:mi:ss.mmm
  • yyyy-mm-ddThh:mi:ss.mmmZ
SQL Server에서의 시계열 분석

FORMAT() 함수

  • SQL Server 2012부터 지원
  • 보고용 날짜·숫자 서식 지정에 유용
  • 날짜→문자열 서식 유연성은 CAST()·CONVERT()보다 높음
  • T-SQL 전용
  • 변환에 .NET 프레임워크 사용
  • 행이 많을수록 더 느릴 수 있음
SQL Server에서의 시계열 분석

FORMAT() 함수 사용

DECLARE
    @SomeDate DATETIME2(3) = '1793-02-21 11:13:19.033';
SELECT
    FORMAT(@SomeDate, 'd', 'en-US') AS US_d,
    FORMAT(@SomeDate, 'd', 'de-DE') AS DE_d,
    FORMAT(@SomeDate, 'D', 'de-DE') AS DE_D,
    FORMAT(@SomeDate, 'yyyy-MM-dd') AS yMd;
US_d DE_d DE_D yMd
2/21/1793 21.02.1793 Donnerstag, 21. February 1793 1793-02-21
SQL Server에서의 시계열 분석

큰 데이터셋에서는 FORMAT()이 CAST()나 CONVERT()보다 느릴 수 있습니다.

SQL Server에서의 시계열 분석

연습해 봅시다!

SQL Server에서의 시계열 분석

Preparing Video For Download...