logo

SQL Tarih İşlevleri

Bu derste SQL'de yerleşik olan bazı önemli tarih işlevlerini öğreneceğiz.

SQL'de tarih işlevleri:

  1. ŞİMDİ()
  2. CURDATE()
  3. KURTİME()
  4. TARİH()
  5. ÇIKARMAK()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. TARİH FORMATI()

Tarih fonksiyonlarının her birini örnekler yardımıyla tek tek detaylı olarak görelim. Sorgu yazma örneklerimizde MySQL veritabanını kullanacağız.

Aşağıdaki verileri içeren öğrenci tablosuna sahip olduğumuzu düşünün:

İD İsim DateTime_Birth Şehir
1 Mansi Şah 2010-01-01 18:39:09 Pune
2 Tejal Wagh 2010-03-04 05:13:19 Nasik
3 Sejal Kumari 2010-05-01 10:31:07 Mumbai
4 Sonal Jain 2010-09-09 17:17:07 Şimla
5 Surili Maheshwari 2010-07-10 20:45:18 Mektup

Bazı örneklerde bu tabloyu kullanacağız.

1. ŞİMDİ():

SQL'deki NOW () işlevi mevcut sistemin tarih ve saatini verecektir.

Sözdizimi:

 SELECT NOW (); 

Örnek:

Mevcut sistemin tarih ve saatini görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT NOW () AS Current_Date_Time; 

Burada sistemin güncel tarih ve saatini almak için NOW() fonksiyonu ile SELECT sorgusu yazdık. Current_Date_Time tarih ve saati saklamak için kullanılan bir takma addır.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

Geçerli_Tarih_Saat
2021-10-24 18:28:44

Sorgunun sistemde yürütüldüğü tarih ve saat 24buEkim 2021 ve 18:28:44. Bu nedenle çıktı olarak görüntülenir.

2.CURDATE()

SQL'deki CURDATE () işlevi mevcut sistemin tarihini verecektir.

java yöntemleri

Sözdizimi:

 SELECT CURDATE (); 

Örnek:

Mevcut sistemin tarihini görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT CURDATE () AS CurrentDate; 

Burada sistemin güncel tarihini almak için CURDATE() fonksiyonu ile SELECT sorgusu yazdık. CurrentDate, tarihi saklamak için kullanılan bir takma addır.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

Geçerli tarih
2021-10-24

Sorgunun sistemde yürütüldüğü tarih 24buEkim 2021. Dolayısıyla çıktı olarak gösteriliyor.

3. KURTİME()

SQL'deki CURTIME () işlevi mevcut sistem saatini verecektir.

Sözdizimi:

 SELECT CURTIME (); 

Örnek:

Mevcut sistemin saatini görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT CURTIME () AS CurrentTime; 

Burada sistemin güncel saatini almak için CURTIME() fonksiyonu ile SELECT sorgusu yazdık. CurrentTime, zamanı saklamak için kullanılan bir takma addır.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

Şimdiki zaman
18:49:07

Sorgunun sistemde yürütüldüğü saat 18:49:07'dir. Bu nedenle çıktı olarak görüntülenir.

4. TARİH()

SQL'deki DATE () işlevini kullanarak, tarihi özellikle DATETIME veri türü sütunundan çıkarabilirsiniz.

Sözdizimi:

 SELECT DATE (DateTimeValue); 

Örnek 1:

Verilen tarih ve saatten tarihi görüntülemek için bir sorgu yazın (ör. 2021-10-24 18:28:44).

Sorgu:

 mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE; 

Burada DATE() fonksiyonuna geçirilen tarih ve saat parametresinden sadece tarihi almak için DATE() fonksiyonu ile SELECT sorgusu yazdık. SHOW_DATE, tarihi saklamak için kullanılan bir takma addır.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

SHOW_DATE
2021-10-24

Tarih ve saat parametresinden yani '2021-10-24 18:28:44'ten tarih değeri 2021-10-24 olur. Bu nedenle çıktı olarak görüntülenir.

Örnek 2:

Öğrenci tablosundaki tüm ayrıntıları, öğrenci tablosunun DateTime_Birth sütunundaki tarihle birlikte görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student; 

Burada ID ve Name’i almak için SELECT sorgusu yazdık. Date_of_Birth, DateTime_Birth'ün takma adıdır. Yalnızca tarihi almak için Date_of_Birth işlevini DATE () işleviyle birlikte kullandık.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

İD İsim Doğum tarihi Şehir
1 Mansi Şah 2010-01-01 Pune
2 Tejal Wagh 2010-03-04 Nasik
3 Sejal Kumari 2010-05-01 Mumbai
4 Sonal Jain 2010-09-09 Şimla
5 Surili Maheshwari 2010-07-10 Mektup

DateTime_Birth sütunu dışındaki tüm kayıtlar öğrenci tablosundaki gibi görüntülenir. Gereksinime göre Date_of_Birth sütununda yalnızca tarih görüntülenir.

5. ÇIKAR()

SQL'deki EXTRACT() işlevini kullanarak, gereksinimlerimize göre tarih ve saatin belirli bir bölümünü çıkartabiliriz: gün, ay, yıl, gün, saat, dakika vb.

Sözdizimi:

 SELECT EXTRACT (PART FROM DATE / TIME); 

Örnek 1:

Verilen tarihten itibaren yılı (ör. 24) görüntülemek için bir sorgu yazınbuEkim 2021.

Sorgu:

 mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR; 

Burada verilen tarihten itibaren yılı almak için EXTRACT() fonksiyonu ile SELECT sorgusu yazdık. SHOW_YEAR, yılı saklamak için kullanılan bir takma addır.

veritabanı java'yı bağlayın

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

SHOW_YEAR
2021

'2021' verilen tarihteki yıldır. Bu nedenle çıktı olarak görüntülenir.

Örnek 2:

Verilen tarihten itibaren ayı (ör. 24) görüntülemek için bir sorgu yazınbuEkim 2021.

Sorgu:

 mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH; 

Burada verilen tarihten itibaren ayı almak için EXTRACT() fonksiyonu ile SELECT sorgusu yazdık. SHOW_MONTH, ayı saklamak için kullanılan bir takma addır.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

SHOW_MONTH
10

10buverilen tarihteki ay değeridir. Bu nedenle çıktı olarak görüntülenir.

Örnek 3:

Verilen tarihten itibaren günü görüntülemek için bir sorgu yazın, yani 24buEkim 2021.

Sorgu:

 mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY; 

Burada verilen tarihten günü almak için EXTRACT() fonksiyonu ile SELECT sorgusu yazdık. SHOW_DAY, günü saklamak için kullanılan bir takma addır.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

GÖSTERİ GÜNÜ
24

24buverilen tarihteki gün değeridir. Bu nedenle çıktı olarak görüntülenir.

Örnek 4:

Verilen saatin saatini (örneğin 19:10:43) görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR; 

Burada verilen saatten saati almak için EXTRACT() fonksiyonu ile SELECT sorgusu yazdık. SHOW_HOUR, bir saatin değerini saklamak için kullanılan bir takma addır.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

SHOW_HOUR
19

'19' verilen zamandaki saat değeridir. Bu nedenle çıktı olarak görüntülenir.

Örnek 5:

Verilen zamanın dakikasını (örneğin 19:10:43) görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE; 

Burada verilen zamandan dakika değerini almak için EXTRACT() fonksiyonu ile SELECT sorgusu yazdık. SHOW_MINUTE, dakikayı saklamak için kullanılan bir takma addır.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

SHOW_MINUTE
10

'10' verilen süredeki dakika değeridir. Bu nedenle çıktı olarak görüntülenir.

Örnek 6:

Verilen zamandan (19:10:43) itibaren saniyeleri görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND; 

Burada verilen zamanın saniye değerini almak için EXTRACT() fonksiyonu ile SELECT sorgusu yazdık. SHOW_SECOND, bir saniyenin değerini saklamak için kullanılan bir takma addır.

Yukarıdaki sorguyu çalıştırdıktan sonra aşağıdaki çıktıyı aldık:

SHOW_SECOND
43

43 verilen süredeki ikinci değerdir. Bu nedenle çıktı olarak görüntülenir.

6. DATE_ADD()

SQL'de DATE_ADD() fonksiyonunu kullanarak verilen tarihe belirli bir zaman aralığı ekleyebiliriz.

Sözdizimi:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Örnek 1:

Verilen tarihe 15 günlük bir aralık (yani 24 gün) eklemek için bir sorgu yazınbuEkim 2021.

Sorgu:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Burada verilen tarihe 15 günlük aralık eklemek için DATE_ADD() fonksiyonu ile SELECT sorgusu yazdık. NEW_DATE, yeni bir tarihin değerini saklamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

androidin paskalya yumurtası nedir
YENİ TARİH
2021-11-08

2021-10-24 tarihine 15 gün arayla eklendikten sonra yeni tarih 2021-11-08 olarak belirlendi.

Örnek 2:

Verilen tarihe 5 aylık bir aralık (ör. 24) eklemek için bir sorgu yazınbuEkim 2021.

Sorgu:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Burada verilen tarihe 5 aylık bir aralık eklemek için DATE_ADD() fonksiyonu ile SELECT sorgusu yazdık. NEW_DATE, yeni bir tarihin değerini saklamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

YENİ TARİH
2022-03-24

2021-10-24 tarihine 5 aylık aralık eklendikten sonra yeni tarih 2022-03-24 olarak belirlendi.

Örnek 3:

Verilen tarihe 25 yıllık bir aralık (yani 24 yıl) eklemek için bir sorgu yazınbuEkim 2021.

Sorgu:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Burada verilen tarihe 25 yıllık bir aralık eklemek için DATE_ADD() fonksiyonu ile SELECT sorgusu yazdık. NEW_DATE, yeni bir tarihin değerini saklamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

YENİ TARİH
2046-10-24

2021-10-24'e 25 yıllık aralık eklendiğinde yeni tarih 2046-10-24 oluyor.

7. DATE_SUB()

SQL'de DATE_SUB() fonksiyonunu kullanarak verilen tarihten belirli bir zaman aralığını kaldırabiliriz.

Sözdizimi:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Örnek 1:

Verilen tarihten 25 yıllık aralığı (yani 24 yılı) kaldırmak için bir sorgu yazınbuEkim 2021.

Sorgu:

java diziye ekle
 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Burada verilen tarihten 25 yıllık bir aralığı kaldırmak için DATE_SUB() fonksiyonu ile SELECT sorgusu yazdık. NEW_DATE, yeni bir tarihin değerini saklamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

YENİ TARİH
1996-10-24

2021-10-24 tarihinden 25 yıllık aralık kaldırıldıktan sonra yeni tarih 1996-10-24 oldu.

Örnek 2:

Verilen tarihten itibaren 5 aylık aralığı (ör. 24) kaldırmak için bir sorgu yazınbuEkim 2021.

Sorgu:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Burada verilen tarihten itibaren 5 aylık aralığı kaldırmak için DATE_SUB() fonksiyonu ile SELECT sorgusu yazdık. NEW_DATE, yeni bir tarihin değerini saklamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

YENİ TARİH
2021-05-24

2021-10-24 tarihinden itibaren 5 aylık ara kaldırıldıktan sonra yeni tarih 2021-05-24 olarak belirlendi.

Örnek 3:

Verilen tarihten 15 günlük aralığı (yani 24 günü) kaldırmak için bir sorgu yazınbuEkim 2021.

Sorgu:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Burada verilen tarihten 15 günlük aralığı kaldırmak için DATE_SUB() fonksiyonu ile SELECT sorgusu yazdık. NEW_DATE, yeni bir tarihin değerini saklamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

YENİ TARİH
2021-10-09

2021-10-24 tarihinden itibaren 15 günlük aralık kaldırıldıktan sonra yeni tarih 2021-10-09 olarak belirlendi.

8. DATEDIFF()

SQL'de DATEDIFF() fonksiyonunu kullanmak bize verilen iki tarih arasında kalan gün sayısını verecektir.

Sözdizimi:

 SELECT DATEDIFF(Date1, Date2); 

Örnek 1:

Verilen iki tarih arasındaki farkı (ör. 24) hesaplamak için bir sorgu yazınbuEkim 2021 ve 9buEkim 2021.

Sorgu:

 mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE; 

Burada 2021-10-24 ile 2021-10-09 tarihleri ​​arasındaki farkı elde etmek için DATE_DIFF() fonksiyonu ile SELECT sorgusu yazdık. Number_of_Days, gün sayısına göre farkı depolamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

Gün sayısı
on beş

2021-10-24 ile 2021-10-09 tarihleri ​​arasında 15 gün fark bulunmaktadır.

Örnek 2:

Verilen iki tarih arasındaki farkı (ör. 5) hesaplamak için bir sorgu yazınbuMayıs, 2018 ve 5buMayıs 2008.

Sorgu:

 mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE; 

Burada 2018-05-05 ile 2008-05-05 tarihleri ​​arasındaki farkı elde etmek için DATE_DIFF() fonksiyonu ile SELECT sorgusu yazdık. Number_of_Days, gün sayısına göre farkı depolamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

Gün sayısı
3652

2018-05-05 ile 2008-05-05 tarihleri ​​arasında 3652 gün fark bulunmaktadır.

9. DATE_FORMAT()

SQL'de DATE_FORMAT() fonksiyonunu kullanarak tarih veya saat ile ilgili bilgileri iyi formatlanmış bir şekilde görüntüleyebiliriz.

Bir tablonun sütununda DATE_FORMAT işlevini kullanmanın sözdizimi:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

VEYA

Belirli bir tarihi biçimlendirmek için söz dizimi:

 SELECT DATE_FORMAT (Date, Expression); 

Örnek 1:

Verilen tarihi iyi biçimlendirilmiş bir şekilde görüntülemek için bir sorgu yazın, örneğin 24buEkim 2021.

Sorgu:

 mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date; 

Burada 2021-10-24 tarihini formatlanmış biçimde almak için DATE_FORMAT() fonksiyonu ile SELECT sorgusu yazdık. Formatted_Date, biçimlendirilmiş tarihi saklamak için kullanılan bir takma addır.

youtube videolarını vlc'ye indirme

Aşağıdaki çıktıyı alacaksınız:

Biçimlendirilmiş_Tarih
24 Ekim 2021 Pazar

24 Ekim 2021 Pazar, 2021-10-24 için biçimlendirilmiş tarihtir.

Örnek 2:

Verilen tarih ve saati iyi biçimlendirilmiş bir şekilde görüntülemek için bir sorgu yazın (ör. 24)buEkim 2021 22:30:17.

Sorgu:

 mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime; 

Burada '2021-10-24 22:30:17' tarih ve saatini formatlanmış biçimde almak için DATE_FORMAT() fonksiyonu ile SELECT sorgusu yazdık. Formatted_DateTime, biçimlendirilmiş tarih ve saati saklamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

Formatlanmış_TarihSaat
Pazar 24 Ekim 2021 22:30:17

24 Ekim 2021 Pazar 22:30:17, 2021-10-24 22:30:17 için biçimlendirilmiş tarih ve saattir.

Örnek 3:

Öğrenci sütunundaki tüm ayrıntıları DateTime_Birth sütunuyla birlikte iyi biçimlendirilmiş bir şekilde görüntülemek için bir sorgu yazın.

Sorgu:

 mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student; 

Burada tüm kayıtların tarih ve saatini formatlanmış biçimde almak için DATE_FORMAT() fonksiyonu ile SELECT sorgusu yazdık. Formatted_DateTime, biçimlendirilmiş tarih ve saati saklamak için kullanılan bir takma addır.

Aşağıdaki çıktıyı alacaksınız:

İD İsim Formatlanmış_TarihSaat Şehir
1 Mansi Şah Cuma 1 Ocak 2010 18:39:09 Pune
2 Tejal Wagh Perşembe 4 Mart 2010 05:13:19 Nasik
3 Sejal Kumari Cumartesi 1 Mayıs 2010 10:31:07 Mumbai
4 Sonal Jain Perşembe 9 Eylül 2010 17:17:07 Şimla
5 Surili Maheshwari Cumartesi 10 Temmuz 2010 20:45:18 Mektup

DateTime_Birth sütunu dışındaki tüm kayıtlar öğrenci tablosundaki gibi görüntülenir. Formatted_DateTime sütununda ihtiyaca göre yalnızca tarih ve saat görüntülenir.