Memformat tanggal untuk pelaporan

Analisis Deret Waktu di SQL Server

Maham Faisal Khan

Senior Data Science Content Developer

Fungsi pemformatan

CAST()

CONVERT()

FORMAT()

Analisis Deret Waktu di SQL Server

Fungsi CAST()

  • Didukung setidaknya sejak SQL Server 2000
  • Mengonversi satu tipe data ke tipe lain, termasuk tipe tanggal
  • Tidak ada kendali atas pemformatan dari tanggal ke string
  • Standar ANSI SQL, sehingga sebagian besar basis data relasional dan non-relasional memiliki fungsi ini
Analisis Deret Waktu di SQL Server

Menggunakan fungsi 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
Analisis Deret Waktu di SQL Server

Fungsi CONVERT()

  • Didukung setidaknya sejak SQL Server 2000
  • Berguna untuk mengonversi satu tipe data ke tipe lain, termasuk tipe tanggal
  • Ada sedikit kendali pemformatan tanggal ke string dengan parameter style
  • Khusus T-SQL
Analisis Deret Waktu di SQL Server

Menggunakan fungsi 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
Analisis Deret Waktu di SQL Server

Contoh gaya CONVERT()

Kode Gaya

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

Format

  • Amerika Serikat m/d/y
  • Britania/Prancis d/m/y
  • Jerman d.m.y
  • Jepang y/m/d
  • Standar ISO yyyymmdd
  • Standar ODBC (121 untuk ms)
  • ISO8601 yyyy-mm-dd hh:mi:ss.mmm
  • yyyy-mm-ddThh:mi:ss.mmmZ
Analisis Deret Waktu di SQL Server

Fungsi FORMAT()

  • Didukung sejak SQL Server 2012
  • Berguna untuk memformat tanggal atau angka untuk pelaporan
  • Jauh lebih fleksibel memformat tanggal ke string dibanding CAST() atau CONVERT()
  • Khusus T-SQL
  • Menggunakan .NET Framework untuk konversi
  • Bisa lebih lambat saat memproses banyak baris
Analisis Deret Waktu di SQL Server

Menggunakan fungsi 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
Analisis Deret Waktu di SQL Server

Fungsi FORMAT() bisa lebih lambat daripada CAST() atau CONVERT() saat menangani data dalam jumlah besar.

Analisis Deret Waktu di SQL Server

Ayo berlatih!

Analisis Deret Waktu di SQL Server

Preparing Video For Download...