En son web geliştirme öğreticiler
 

SQL Tarih İşlevleri


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!