Tarihleri İşleme Bölüm 3
Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası. Ders 33 / 72.
SQL, tarihleri işlemek ve biçimlendirmek için birkaç kullanışlı işlev sunar. İşte bazı yaygın tarih işlevleri:
DATE()- Bir dizeyi tarihe dönüştürürSTRFTIME()- Tarihleri belirtilen parametrelere göre biçimlendirirDATE('now')- Geçerli tarihi alır:
Örneğin dizeyi tarihe dönüştürün:
SELECT DATE('2023-05-15 13:45:00')
-- Döndürür: 2023-05-15
SELECT DATE('now')
-- Geçerli tarihi döndürürÖrneğin tarihten yıl, ay ve günü çıkarın:
-- Yılı al
SELECT STRFTIME('%Y', '2023-05-15')
-- Döndürür: 2023
-- Ayı al
SELECT STRFTIME('%m', '2023-05-15')
-- Döndürür: 05
-- Günü al
SELECT STRFTIME('%d', '2023-05-15')
-- Döndürür: 15
-- Yıl ve gün kombinasyonunu göster (herhangi bir ayırıcı kullanılabilir)
SELECT STRFTIME('%Y:%d', '2023-05-15')
-- Döndürür: 2023:15
-- Bunun yerine tire ayırıcı kullan
SELECT STRFTIME('%d-%m-%Y', '2023-05-15')
-- Döndürür: 15-05-2023
-- Haftanın gününü al
SELECT STRFTIME('%w', '2023-05-15')
-- Döndürür: 1 (Pazartesi; Pazar 0'dır)Yaygın biçim belirteçleri:
- %Y: Yıl (4 basamak)
- %m: Ay (01-12)
- %d: Ayın günü (01-31)
- %w: Haftanın günü (0-6, Pazar 0'dır)
- %H: Saat (00-23)
- %M: Dakika (00-59)
- %S: Saniye (00-59)
Belirteçler arasında herhangi bir ayırıcı karakter kullanabilirsin (ör. -, :, /). Örneğin, STRFTIME('%d-%m-%Y', date) ve STRFTIME('%d:%m:%Y', date) farklı ayırıcılarla yalnızca günü, ayı ve yılı birleştirir.
Bu işlevleri sorgularda birleştirebilirsiniz:
-- Mevcut yıldaki tüm kayıtları bul
SELECT * FROM table1
WHERE STRFTIME('%Y', date_column) = STRFTIME('%Y', 'now')Görev
KolayMevcut tablolar ve sütunlar:
events:id,start,end
Şunları gösteren bir sorgu yazın:
- Olay kimliği
- "DD-MM-YYYY" biçiminde biçimlendirilmiş başlangıç tarihi. Bu sütuna
formatted_startadını verin - "DD-MM-YYYY" biçiminde biçimlendirilmiş bitiş tarihi. Bu sütuna
formatted_endadını verin - Başlangıç ve bitiş arasındaki gün cinsinden süreyi en yakın tam sayıya yuvarlayın. Bu sütuna
duration_daysadını verin
Yalnızca start sütununun yılının 2009 olduğu satırları filtreleyin (STRFTIME() bir sayı değil, dize döndürür).
Sonuçları gün cinsinden süreye göre azalan düzende sıralayın.
Hatırlatma: Tarihler arasındaki farkı hesaplamak için JULIANDAY(end) - JULIANDAY(start) kullanın ve tam sayılara yuvarlamak için ROUND() kullanın.
Kendin dene
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Daha Fazla Anahtar Sözcük
IN anahtar sözcüğüBETWEEN anahtar sözcüğüLIKE anahtar sözcüğüAS anahtar sözcüğüTekrar - Cep Telefonu Modelleri2Koşullar
Koşulların TemelleriAND Anahtar SözcüğüOR Anahtar SözcüğüNOT Anahtar SözcüğüBirden Çok Koşulu BirleştirmeParantezlerBoolean Değerler3Belirli Döndürme Biçimi
Null değerlerSonuçları Sıralama 1. BölümSonuçları Sıralama 2. BölümTekrar - Siber Güvenlik FirmasıKayıt Sayısını SınırlamaTekrar - Araç Fabrikası6Giriş Alıştırmaları
Tekrar - Parlamento SeçimiTekrar - Polisin Suçluyu TutuklamasıTekrar - Bar İçecek KabıTekrar - Mühendis Yeni Sütunlar9Birden Çok Tablo
Temel JOIN Bölüm 1Temel JOIN Bölüm 2Tekrar - JOINKendine JOINTekrar - Kendine JOINUNIONSorguları Basitleştirme, WITH Anahtar SözcüğüTekrar - WITH SorgularıTekrar - Gayrimenkul Müteahhidi12Pencere Fonksiyonları 2. Bölüm
RANK ve DENSE_RANK FonksiyonlarıTekrar - RANK ve DENSE_RANKNTILE FonksiyonuToplama FonksiyonlarıROWS ve RANGE ÖlçütüKendi başına pratik yap: SQL playground