Raporlama için tarih biçimlendirme

SQL Server'da Zaman Serisi Analizi

Maham Faisal Khan

Senior Data Science Content Developer

Biçimlendirme fonksiyonları

CAST()

CONVERT()

FORMAT()

SQL Server'da Zaman Serisi Analizi

CAST() fonksiyonu

  • En azından SQL Server 2000'den beri desteklenir
  • Tarih tipleri dahil bir veri türünü diğerine dönüştürür
  • Tarihten stringe biçimi kontrol etmez
  • ANSI SQL standardı; çoğu ilişkisel ve ilişkisel olmayan veritabanında vardır
SQL Server'da Zaman Serisi Analizi

CAST() fonksiyonunu kullanmak

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'da Zaman Serisi Analizi

CONVERT() fonksiyonu

  • En az SQL Server 2000'e kadar desteklenir
  • Tarih tipleri dahil, bir veri türünü diğerine çevirmek için kullanışlıdır
  • Stil parametresiyle tarihten stringe biraz biçim kontrolü sağlar
  • T-SQL'e özeldir
SQL Server'da Zaman Serisi Analizi

CONVERT() fonksiyonunu kullanmak

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'da Zaman Serisi Analizi

Örnek CONVERT() stilleri

Stil Kodu

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

Biçim

  • Birleşik Devletler m/g/y
  • Britanya/Fransız g/a/y
  • Alman g.a.y
  • Japon y/a/g
  • ISO standardı yyyyaa gg
  • ODBC standardı (ms için 121)
  • ISO8601 yyyy-mm-dd hh:mi:ss.mmm
  • yyyy-mm-ddThh:mi:ss.mmmZ
SQL Server'da Zaman Serisi Analizi

FORMAT() fonksiyonu

  • SQL Server 2012'den itibaren desteklenir
  • Raporlama için tarih veya sayıları belirli bir biçimde yazdırmakta kullanışlıdır
  • Tarihten stringe biçimlendirmede CAST() ve CONVERT()'ten çok daha esnektir
  • T-SQL'e özeldir
  • Dönüşüm için .NET framework kullanır
  • Satır sayısı arttıkça yavaşlayabilir
SQL Server'da Zaman Serisi Analizi

FORMAT() fonksiyonunu kullanmak

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'da Zaman Serisi Analizi

FORMAT() fonksiyonu, daha büyük veri kümelerinde CAST() veya CONVERT()'ten daha yavaş olabilir.

SQL Server'da Zaman Serisi Analizi

Hadi pratik yapalım!

SQL Server'da Zaman Serisi Analizi

Preparing Video For Download...