3.1 Tarih ve saat ile çalışmak için işlevlerin listesi
Tarih ve saat, veritabanlarında depolanan en yaygın veri türlerinden biridir. Bu nedenle, onlarla çalışmak için işlevlerin listesi çok geniştir. İşte en popüler olanlar:
# | İşlev | Tanım |
---|---|---|
1 | CURDATE() | Geçerli tarihi döndürür |
2 | CUTIME() | Geçerli saati döndürür |
3 | ŞİMDİ(), YEREL ZAMAN() | Geçerli tarihi ve geçerli saati döndürür |
4 | YIL() | Tarihten yılı döndürür |
5 | AY() | Bir tarihten ayı döndürür |
6 | GÜN(), DAYOFAY() | Bir tarihten günü döndürür |
7 | SAAT() | Zamandan yalnızca saat döndürür |
8 | DAKİKA() | Zamandan dakikaları duyurur |
9 | SANİYE() | Zamandan saniyeleri döndürür |
10 | DAYNAME() | Haftanın gününün adını döndürür: Pazartesi, ... |
on bir | AY ADI() | Ayın adını döndürür: Ocak, ... |
12 | HAFTA() | Bir tarihten haftayı döndürür |
13 | HAFTA İÇİ() | Haftanın gününün sayısını döndürür: Pazartesi - 0, Salı - 1 |
14 | YILIN HAFTASI() | Yılın hafta numarasını verir |
15 | HAFTANIN GÜNÜ() | Haftanın gününün sayısını döndürür: Pazar - 1, Pazartesi - 2 |
16 | YILIN GÜNÜ() | Yılın gününü döndürür: 1-366 |
17 | TARİH() | Bir "datetime" nesnesinden yalnızca tarihi döndürür |
18 | TARİH EKLE() | Bir tarihe gün ekler |
19 | ALT TARİH() | Bir tarihten günleri çıkarır |
20 | ZAMAN EKLE() | Zaman zaman ekler |
21 | SUBTIME() | Zamanı zamandan çıkarır |
İşlevleri, onlarla nasıl çalışılacağını daha kolay anlayabilmek için kasıtlı olarak küçük gruplar halinde gruplandırdım. Aşağıda her gruptan bir işlevi ele alacağız.
Tarih ve saatle çalışmaya yönelik işlevlerin tam listesini şu bağlantıda bulabilirsiniz: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
3.2 Arama işlevleri
Bu arada, çok fazla fonksiyon öğrendiğimiz için, SELECT
operatörün FROM
. Herhangi bir ifadenin değerini döndürebilir. Genel görünümü şablon tarafından verilmektedir:
SELECT expression
Ve bir işlevi çağırmak istiyorsanız, aşağıdaki gibi bir kod yazmanız gerekir:
SELECT function(options)
SELECT
Aşağıda , tabloya başvurmadan operatörün çalışmasına ilişkin bazı örnekler vereceğim :
# | Rica etmek | Sonuç |
---|---|---|
1 | 1+1 SEÇ | 2 |
2 | 13 MOD 5 SEÇİN | 3 |
3 | RAND()'I SEÇİN | 0,20771444235715497 |
4 | CURDATE()'İ SEÇİN | 2022-06-04 |
5 | CUTIME'I SEÇ() | 00:06:02 |
6 | ŞİMDİ SEÇ() | 2022-06-04 00:06:43 |
Ve yukarıdaki tabloda da görebileceğiniz gibi, geçerli tarih ve saati almak için işlevlerden birini kullanmanız yeterlidir:
CURDATE()
- Geçerli tarih;CURTIME()
- şimdiki zaman;NOW()
– geçerli tarih ve saat.
3.3 Verileri yıl ve aya göre gruplama
Çalışanlar için görevlerle görev tablomuzu hatırlayalım. Bu tablodaki görevleri yıllara göre gruplandırmaya çalışalım. YEAR()
Bunu yapmak için, kendisine iletilen tarihten itibaren yılı döndüren işlevi kullanırız .
Sorgumuzun ilk versiyonu şöyle görünecek:
SELECT
id,
employee_id ,
name,
YEAR(deadline) AS year,
deadline
FROM task
Bu sorgunun sonucu şöyle olacaktır:
İD | Çalışan kimliği | isim | yıl | son teslim tarihi |
---|---|---|---|---|
1 | 1 | Ön uçtaki bir hatayı düzeltin | 2022 | 2022-06-01 |
2 | 2 | Arka uçtaki bir hatayı düzeltin | 2022 | 2022-06-15 |
3 | 5 | kahve satın al | 2022 | 2022-07-01 |
4 | 5 | kahve satın al | 2022 | 2022-08-01 |
5 | 5 | kahve satın al | 2022 | 2022-09-01 |
6 | (HÜKÜMSÜZ) | ofisi temizle | (HÜKÜMSÜZ) | (HÜKÜMSÜZ) |
7 | 4 | Hayatın tadını çıkar | (HÜKÜMSÜZ) | (HÜKÜMSÜZ) |
8 | 6 | Hayatın tadını çıkar | (HÜKÜMSÜZ) | (HÜKÜMSÜZ) |
Tüm satırların aynı yıla sahip olduğunu görebiliriz, o halde iki alan kullanalım - yıl ve ay. Sorgumuzun ikinci versiyonu şöyle görünecek:
SELECT
id,
employee_id ,
name,
YEAR(deadline) AS year,
MONTH(deadline) AS month,
deadline
FROM task
Bu sorgunun sonucu şöyle olacaktır:
İD | Çalışan kimliği | isim | yıl | ay | son teslim tarihi |
---|---|---|---|---|---|
1 | 1 | Ön uçtaki bir hatayı düzeltin | 2022 | 6 | 2022-06-01 |
2 | 2 | Arka uçtaki bir hatayı düzeltin | 2022 | 6 | 2022-06-15 |
3 | 5 | kahve satın al | 2022 | 7 | 2022-07-01 |
4 | 5 | kahve satın al | 2022 | 8 | 2022-08-01 |
5 | 5 | kahve satın al | 2022 | 9 | 2022-09-01 |
6 | (HÜKÜMSÜZ) | ofisi temizle | (HÜKÜMSÜZ) | (HÜKÜMSÜZ) | (HÜKÜMSÜZ) |
7 | 4 | Hayatın tadını çıkar | (HÜKÜMSÜZ) | (HÜKÜMSÜZ) | (HÜKÜMSÜZ) |
8 | 6 | Hayatın tadını çıkar | (HÜKÜMSÜZ) | (HÜKÜMSÜZ) | (HÜKÜMSÜZ) |
Size görevleri yıl ve aya göre nasıl gruplandıracağınızı söylemeyeceğim - bunu zaten incelediniz: operatörü kullanın GROUP BY
.
GO TO FULL VERSION