SQL Tarih ve Saat İşlemleri
Veritabanında tarih ve saat işlemleri gerçekleştirirken doğru tarih/saat formatını kullanıp kullanmadığımıza bağlı olarak hatalar ile karşılaşabiliriz.
Eğer işlem yaptığımız alan sadece tarih bilgisi içeriyorsa işimiz daha kolaydır. Ancak zaman (saat, dk, sn) bilgisi de içeriyorsa işler biraz karışabilir.
Öncelikle MySQL ve Sql Server için kullanılan tarih/saat fonksiyonlarına bir göz atalım.
MySQL Tarih/Zaman Fonksiyonları
NOW() şu anki tarih ve zaman bilgisini verir.
CURDATE() şu anki tarih bilgisini verir.
CURTIME() şu anki zaman bilgisini verir.
DATE() Tarih kısmını verir.
EXTRACT() Tarih/zaman bilgisinin bir parçasını verir.
DATE_ADD() Belirtilen tarihe, belirtilen tarih aralığını ekler.
DATE_SUB() Belirtilen tarihten, belirtilen tarih aralığını çıkarır.
DATEDIFF() İki tarih arasındaki gün sayısını verir.
DATE_FORMAT() Tarih/zaman bilgisini istenen biçimde göstermeye yarar.
SQL Server Tarih/Zaman Fonksiyonları
GETDATE() şu anki tarih ve zaman bilgisini verir.
DATEPART() Tarih/zaman bilgisinin bir parçasını verir.
DATEADD() Belirtilen tarihe, belirtilen tarih aralığını ekler veya çıkarır.
DATEDIFF() İki tarih arasındaki zamanı verir.
CONVERT() Tarih/zaman bilgisini istenen biçimde göstermeye yarar.
SQL Tarih-Zaman Veri Türleri
Tablomuzu oluştururken kullanabileceğimiz tarih/zaman türleri de şöyledir.
MySql için:
DATE - biçim YYYY-MM-DD
DATETIME - biçim: YYYY-MM-DD HH:MI:SS
TIMESTAMP - biçim: YYYY-MM-DD HH:MI:SS
YEAR - biçim YYYY veya YY
SQL Server için:
DATE - biçim YYYY-MM-DD
DATETIME - biçim: YYYY-MM-DD HH:MI:SS
SMALLDATETIME - biçim: YYYY-MM-DD HH:MI:SS
TIMESTAMP - biçim: sayı
SQL Tarih-Zaman İşlemleri
İki tarihi karşılaştırmak çok kolaydır.
SELECT * FROM ogrenciler WHERE dgTarihi='2000-1-12'
Yukarıdaki sorgu dtTarihi alanında sadece tarih bilgisi saklanıyorsa sorunsuz çalışacaktır.
Ancak belirtilen alanda zaman bilgisi de varsa bu sorgu sonuç döndürmeyecektir. Çünkü sadece tarihe göre sorgulama yapılmıştır.
SELECT * FROM uyeler WHERE kayitTarihi='2000-1-12'
Önemli Tavsiye: Tarih ve zaman bilgisini aynı sütunda saklamak yerine iki farklı sütunda saklamak daha kullanışlı olacaktır.
sql tarih saat işlemleri, sql tarih zaman hataları, sql tarih işlemleri nasıl yapılır, mysql ve sql server tarih türleri
KONU İLE İLGİLİ ÖRNEKLER
Bu konu ile ilgili örnek bulunmamaktadır.
36293 kez okundu.