İlginizi Çekebilir
SQL Where Komutu - Wildcard
  1. Ana Sayfa
  2. SQL

SQL Tarih Convert İşlemleri

SQL Tarih Convert İşlemleri
+ - 6

SQL Tarih Convert İşlemleri dersim ile SQL eğitim setime devam ediyorum. Bir süredir SQL eğitim setime ders ekleyemiyordum. Bugün bir kaç ders eklemeyi planlıyorum.

 

SQL Tarih Convert İşlemleri

SQL tarih işlemleri bize hep sıkıntı çıkartır. Tarih ayraçlarından tutunda yazım formatına kadar birçok farklılık var.

Örnek olarak Türkiyede tarih gg.aa.yyyy olarak yazılır. Önce gün sonra ay ve yıl olacak şekilde ve aralarda nokta ayracı ile. Ama Amerika durum farklıdır. En büyük fark onlar aa.gg.yyyy yani Önce ay sonra gün ve yıl formatında kullanırlar.

C# ile parametre veya model kullanmadan yapılan insertlerde 02.04.2019 şeklinde tarih kaydedemezsiniz. Gönderdiğiniz tarih formatı ayraç olmadan yyyyaagg şeklinde yanı yıl ay gün formatında  olması gerekiyor. Ama sql management studio da tabloyu açıp bir tarih alanına tarih gireceğiniz zaman tam tersi oluyor. Oraya aktif tarih formatı ile yazılması gerekiyor. SQL den bir tarih alanı okuduğunuzda da “2011-08-28” formatında okunuyor.

Yani anlayacağınız bir çok sıkıntı yaşayabiliyoruz. Bu dersimizde SQL den okuma kısmındaki formatlama işlemlerine bakacağız.

Elbette bu convertleme işlemlerini select sorgusunda kolon olarak çektiğimiz gibi where kısmında şart vereceğimiz tarih kolonları üzerinde de kullanabiliyoruz.

Tarih convert kullanım şekli şöyledir.

SELECT CONVERT ( Donusecek Tip (DateTime, VarChar gibi)Donusmesi Istenen VeriTip Kodu)

 

SQL Tarih / Zaman Convert Modelleri

Tarih Convert Modelleri

SELECT convert(varchar, getdate(), 0)

Format: mon dd yyyy hh:mm (AM or PM)
Çıktı: Apr 2 2019 3:56PM

 

SELECT convert(varchar, getdate(), 1)

Format: mm/dd/yy
Çıktı: 04/02/19

 

SELECT convert(varchar, getdate(), 2)

Format: yy.mm.dd
Çıktı: 19.04.02

 

SELECT convert(varchar, getdate(), 3)

Format: dd/mm/yy
Çıktı: 02/04/19

 

SELECT convert(varchar, getdate(), 4)

Format: dd.mm.yy
Çıktı: 02.04.19

 

SELECT convert(varchar, getdate(), 5)

Format: dd-mm-yy
Çıktı: 02-04-19

 

SELECT convert(varchar, getdate(), 6)

Format: dd mon yy
Çıktı: 02 Apr 19

 

SELECT convert(varchar, getdate(), 7)

Format: mon dd, yy
Çıktı: Apr 02, 19

 

SELECT convert(varchar, getdate(), 100)

Format: mon dd yyyy hh:mm (AM or PM)
Çıktı: Apr 2 2019 4:09PM

 

SELECT convert(varchar, getdate(), 101)

Format: mm/dd/yyyy
Çıktı: 04/02/2019

 

SELECT convert(varchar, getdate(), 102)

Format: yyyy.mm.dd
Çıktı: 2019.04.02

 

SELECT convert(varchar, getdate(), 103)

Format: dd/mm/yyyy
Çıktı: 02/04/2019

 

Bu Türkiye için geçerli olan Tarih Formatıdır. 

SELECT convert(varchar, getdate(), 104)

Format: dd.mm.yyyy
Çıktı: 00.04.2019

 

SELECT convert(varchar, getdate(), 105)

Format: dd-mm-yyyy
Çıktı: 02-04-2019

 

SELECT convert(varchar, getdate(), 106)

Format: dd mon yyyy
Çıktı: 02 Apr 2019

 

SELECT convert(varchar, getdate(), 107)

Format: mon dd, yyyy
Çıktı: Apr 02, 2019

 

SELECT convert(varchar, getdate(), 110)

Format: mm-dd-yyyy
Çıktı: 04-02-2019

 

SELECT convert(varchar, getdate(), 111)

Format: yyyy/mm/dd — yyyymmdd – ISO Tarih Formatı – Uluslararası Standart – Herhangi bir dil ayarında çalışır.
Çıktı: 2019/04/02

 

SELECT convert(varchar, getdate(), 112)

Format: yyyymmdd
Çıktı: 20190402

 

SELECT convert(varchar, getdate(), 10)

Format: mm-dd-yy
Çıktı: 04-02-19

 

SELECT convert(varchar, getdate(), 11)

Format: yy/mm/dd
Çıktı: 19/04/02

 

SELECT convert(varchar, getdate(), 12)

Format: yymmdd
Çıktı: 190402

 

SELECT convert(varchar, getdate(), 23)

Format: yyyy-mm-dd
Çıktı: 2019-04-02

 


Zaman Convert Modelleri

SELECT convert(varchar, getdate(), 108)

Format: hh:mm:ss
Çıktı: 15:49:24

 

SELECT convert(varchar, getdate(), 114)

Format: hh:mm:ss:mmm(24h)
Çıktı: 15:54:05:693

 

SELECT convert(varchar, getdate(), 8)

Format: hh:mm:ss
Çıktı: 16:02:32

 

SELECT convert(varchar, getdate(), 14)

Format: hh:mm:ss:mmm(24h)
Çıktı: 16:05:34:363

 

SELECT convert(varchar, getdate(), 24)

Format: hh:mm:ss
Çıktı: 16:08:11

 


 

Tarih ve Zaman Convert Modelleri

SELECT convert(varchar, getdate(), 109)

Format: mon dd yyyy hh:mm:ss:mmm (AM or PM)
Çıktı: Apr 2 2019 3:50:13:540PM

 

SELECT convert(varchar, getdate(), 113)

Format: dd mon yyyy hh:mm:ss:mmm
Çıktı: 02 Apr 2019 15:53:14:053

 

SELECT convert(varchar, getdate(), 120)

Format: yyyy-mm-dd hh:mm:ss(24h)
Çıktı: 2019-04-02 15:54:23

 

SELECT convert(varchar, getdate(), 121)

Format: yyyy-mm-dd hh:mm:ss.mmm
Çıktı: 2019-04-02 15:55:15.630

 

SELECT convert(varchar, getdate(), 126)

Format: yyyy-mm-ddThh:mm:ss.mmm
Çıktı: 2019-04-02T15:55:44.147

 

SELECT convert(varchar, getdate(), 9)

Format: mon dd yyyy hh:mm:ss:mmm (AM or PM)
Çıktı: Apr 2 2019 4:03:02:100PM

 

SELECT convert(varchar, getdate(), 13)

Format: dd mon yyyy hh:mm:ss:mmm
Çıktı: 02 Apr 2019 16:05:07:547

 

SELECT convert(varchar, getdate(), 20)

Format: yyyy-mm-dd hh:mm:ss(24h)
Çıktı: 2019-04-02 16:06:14

 

SELECT convert(varchar, getdate(), 21)

Format: yyyy-mm-dd hh:mm:ss.mmm
Çıktı: 2019-04-02 16:06:43.970

 

SELECT convert(varchar, getdate(), 22)

Format: mm/dd/yy hh:mm:ss (AM or PM)
Çıktı: 04/02/19 4:06:59 PM

 

SELECT convert(varchar, getdate(), 25)

Format: yyyy-mm-dd hh:mm:ss.mmm
Çıktı: 2019-04-02 16:08:28.353

 

NOT: Tek hane ve iki haneli olan convert modelleri istisnalar olarak geçiyor. Bu modellerde genelde tarihlerdeki yıllar iki hane olarak gösteriliyor.


SQL Tarih Convert İşlemleri dersimizde bu kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere,

Microsoft SQL Server & T-SQL Eğitim Seti ders listesi için tıklayınız.

Sağlıcakla ve Takipte Kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)

Yorumlar (6)

Popüler Yorumlar
  1. hocam bunu C# da yapılan bir programla sql’e tarih kaydetme kodlarını yazsanız çok daha iyi olur. teşekkürler…

  2. Aşağıdaki şekilde yapabilirsiniz. Basit bir örnek vermeye çalıştım…

    DateTime Kayit_Tarihi = DateTime.Now;

    //…

    insert into TABLO
    (
    Kayit_Tarih
    ,Kaydeden
    , …
    )
    Values
    (
    convert(varchar, ‘”+ Kayit_Tarihi +”‘ , 104)
    ,0
    , …
    )

Yapılan Yorumlar
  1. hocam bunu C# da yapılan bir programla sql’e tarih kaydetme kodlarını yazsanız çok daha iyi olur. teşekkürler…

    • Aşağıdaki şekilde yapabilirsiniz. Basit bir örnek vermeye çalıştım…

      DateTime Kayit_Tarihi = DateTime.Now;

      //…

      insert into TABLO
      (
      Kayit_Tarih
      ,Kaydeden
      , …
      )
      Values
      (
      convert(varchar, ‘”+ Kayit_Tarihi +”‘ , 104)
      ,0
      , …
      )

  2. Merhaba, 20220102 şeklinde verilen bir integer’i nasıl tarih formatına çeviririm acaba(yyyy/mm/dd) şeklinde,yardımcı olabilirseniz çok sevinirim

    • Merhaba,
      Bunu cast ve substring metodu ile yapabilirsiniz

      Aşağıda örnek kodu görebilirsiniz.

      SELECT CAST(SUBSTRING('20220102', 1, 4) + SUBSTRING('20220102', 5, 2) + SUBSTRING('20220102', 7, 2) as DATETIME)

      Sub string ile değeri yıl ay gün olarak parçaladık ve parçalardan yeni bir datetime ürettik.

  3. bir soru sorabilir miyim?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.