Şu sıralar, kablosuz el terminalleri ile xml tabanlı olarak veri haberleşmesi yapan bir otopark kontrol otomasyonu hazırlıyorum. MsSQL de tarihleri hesab ederken tarih değerleri üzerinde oynamam gerekti. Ancak yerleşik tarih fonksiyonları işe yaramadığı için çözümü aşağıdaki şekilde buldum. Aşağıdaki yöntemde tarih değerlerini varchar türüne çeviriyorsunuz, eğer gerekli işlemi yaptıktan sonra tarih değerinizi bir karşılaştırma yada sıralamada kullanacaksanız komut diziminde şöyle küçük bir değişiklik yaparak düzenlediğiniz değeri yeniden datetime formatına çevirmelisiniz örn: convert(datetime, convert(varchar, getdate(), 100))
Örnek Çıktı Formatları
SELECT convert(varchar, getdate(), 100)
–- Çıktı Formatı : mon dd yyyy hh:mmAM
SELECT convert(varchar, getdate(), 101)
–- Çıktı Formatı : mm/dd/yyyy - 10/02/2008
SELECT convert(varchar, getdate(), 102)
–- Çıktı Formatı : yyyy.mm.dd – 2008.10.02
SELECT convert(varchar, getdate(), 103)
–- Çıktı Formatı : dd/mm/yyyy
SELECT convert(varchar, getdate(), 104)
–- Çıktı Formatı : dd.mm.yyyy
SELECT convert(varchar, getdate(), 105)
–- Çıktı Formatı : dd-mm-yyyy
SELECT convert(varchar, getdate(), 106)
–- Çıktı Formatı : dd mon yyyy
SELECT convert(varchar, getdate(), 107)
–- Çıktı Formatı : mon dd, yyyy
SELECT convert(varchar, getdate(), 108)
–- Çıktı Formatı : hh:mm:ss
SELECT convert(varchar, getdate(), 109)
–- Çıktı Formatı : mon dd yyyy hh:mm:ss:mmmAM
SELECT convert(varchar, getdate(), 110)
–- Çıktı Formatı : mm-dd-yyyy
SELECT convert(varchar, getdate(), 111)
–- Çıktı Formatı : yyyy/mm/dd
SELECT convert(varchar, getdate(), 112)
–- Çıktı Formatı : yyyymmdd
SELECT convert(varchar, getdate(), 113)
–- Çıktı Formatı : dd mon yyyy hh:mm:ss:mmm
SELECT convert(varchar, getdate(), 114)
–- Çıktı Formatı : hh:mm:ss
SELECT convert(varchar, getdate(), 120)
–- Çıktı Formatı : yyyy-mm-dd hh:mm:ss
SELECT convert(varchar, getdate(), 121)
–- Çıktı Formatı : yyyy-mm-dd hh:mm:ss.mmm
SELECT convert(varchar, getdate(), 126)
–- Çıktı Formatı : yyyy-mm-ddThh:mm:ss.mmm