Tarihlerle çalışırken karşılaştığımız en zor kısım, eklemeye çalıştığınız tarihin biçiminin, veri tabanındaki tarih sütununun biçimiyle aynı olduğundan emin olmaktır.
Verileriniz yalnızca tarih bölümünü içerdiği sürece, sorgularınız beklendiği gibi çalışacaktır. Bununla birlikte, işin içine birde zaman bölümü girdiğinde, durum daha da karmaşık hale gelir.
SQL Tarih Veri Türleri
SQL Server, veri tabanında bir tarih veya tarih/saat değeri depolamak için aşağıdaki veri türleriyle birlikte gelir:
DATE – format YYYY-MM-DD
DATETIME – format: YYYY-MM-DD HH:MI:SS
SMALLDATETIME – format: YYYY-MM-DD HH:MI:SS
TIMESTAMP – format: a unique number
Not: Veri tabanınızda yeni bir tablo oluşturduğunuzda bir sütun için tarih türleri seçilir.
SQL’de Tarihlerle Çalışmak
Örnek 1:
Şimdi yukarıdaki tablodan OrderDate “2008-11-11” olan kayıtları seçmek istiyoruz.
Aşağıdaki SELECT kodunu kullanalım:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
Code language: SQL (Structured Query Language) (sql)
Sonuç:
Not: Zaman bileşeni yoksa iki tarih kolayca karşılaştırılabilir!
Örnek 2:
Aşağıdaki SELECT kodunu kullanalım:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
Code language: SQL (Structured Query Language) (sql)
Sonuç alamayacağız! Bunun nedeni, sorgunun yalnızca zaman bölümü olmayan tarihleri aramasıdır.
Not: Sorgularınızı basit ve bakımı kolay tutmak için, zorunlu olmadıkça tarihlerinizde zaman bileşenlerini kullanmayın!