SQL Tarihler
tarihleri ile çalışma en zor kısmı eklemek çalışıyoruz Tarih biçiminin, veritabanındaki tarih sütunun formatını eşleştiğini emin olmaktır.
MySQL tarihi İşlevleri
Aşağıdaki tabloda MySQL en önemli yerleşik tarih fonksiyonları listeler:
fonksiyon | Açıklama |
---|---|
NOW() | Geçerli tarih ve saati döndürür |
CURDATE() | Geçerli tarihi döndürür |
CURTIME() | Geçerli saati döndürür |
DATE() | Bir tarih veya tarih / zaman ifadesinin tarih bölümünü ayıklar |
EXTRACT() | tarih / zaman tek bir bölümünü döndürür |
DATE_ADD() | bir tarihe belirli bir zaman aralığını ekler |
DATE_SUB() | Bir tarihten itibaren belirli bir zaman aralığı çıkartır |
DATEDIFF() | İki tarih arasındaki gün sayısını döndürür |
DATE_FORMAT() | Ekranlar tarih / farklı biçimlerde zamanlı veri |
SQL Server Tarih Fonksiyonları
Aşağıdaki tabloda SQL Server en önemli yerleşik tarih fonksiyonları listeler:
fonksiyon | Açıklama |
---|---|
GETDATE() | Geçerli tarih ve saati döndürür |
DATEPART() | tarih / zaman tek bir bölümünü döndürür |
DATEADD() | Ekler veya bir tarihten itibaren belirli bir zaman aralığı çıkarır |
DATEDIFF() | İki tarih arasındaki süreyi döndürür |
CONVERT() | Ekranlar tarih / farklı biçimlerde zamanlı veri |
SQL Tarih Veri Türleri
MySQL bir tarih veya veritabanındaki bir tarih / saat değerini depolamak için aşağıdaki veri türlerinden birlikte gelir:
- TARİH - YYYY-AA-GG
- DATETIME - biçimi: YYYY-AA-GG SS: MI: SS
- TIMESTAMP - biçimi: YYYY-AA-GG SS: MI: SS
- YIL - YYYY veya YY
SQL Server bir tarih veya veritabanındaki bir tarih / saat değerini depolamak için aşağıdaki veri türlerinden birlikte gelir:
- TARİH - YYYY-AA-GG
- DATETIME - biçimi: YYYY-AA-GG SS: MI: SS
- SMALLDATETIME - biçimi: YYYY-AA-GG SS: MI: SS
- TIMESTAMP - biçimi: benzersiz bir sayıdır
Note: veritabanınızda yeni bir tablo oluştururken tarih türleri sütun için seçilir!
Mevcut tüm veri tiplerinin genel bir bakış için lütfen tüm gidin Veri Türleri referans .
SQL Tarihleri çalışma
Dahil hiçbir zaman bileşeni varsa kolaylıkla iki tarihleri karşılaştırabilirsiniz!
Şu var varsayalım "Orders" tablosu:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
2 | Camembert Pierrot | 2008-11-09 |
3 | Mozzarella di Giovanni | 2008-11-11 |
4 | Mascarpone Fabioli | 2008-10-29 |
Şimdi bir ile kayıtları seçmek istediğiniz OrderDate arasında "2008-11-11" Yukarıdaki tablodan.
Biz bu sorgu kullanın:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
sonuç grubu aşağıdaki gibi görünecektir:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
3 | Mozzarella di Giovanni | 2008-11-11 |
Şimdi, varsayalım "Orders" tablosu şöyle (notice the time component in the "OrderDate" column) :
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 13:23:44 |
2 | Camembert Pierrot | 2008-11-09 15:45:21 |
3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 |
4 | mascarpone Fabioli | 2008-10-29 14:56:59 |
Yukarıda aynı SELECT deyimi kullanıyorsanız:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
hiçbir sonuç elde edecek! Sorgu yalnızca hiçbir zaman kısmıyla tarihleri arıyor olmasıdır.
Tip: Eğer korumak için basit ve kolay Sorgularınızı tutmak istiyorsanız, sizin tarihleri zamanı bileşenleri izin yok!