3.1 Dhaptar fungsi kanggo nggarap tanggal lan wektu
Tanggal lan wektu minangka salah sawijining jinis data sing paling umum sing disimpen ing basis data. Pramila dhaptar fungsi kanggo nggarap dheweke gedhe banget. Ing ngisor iki sing paling populer:
# | Fungsi | Katrangan |
---|---|---|
1 | CURDATE() | Ngasilake tanggal saiki |
2 | CURTIME() | Ngasilake wektu saiki |
3 | SAIKI(), LOCALTIME() | Ngasilake tanggal saiki lan wektu saiki |
4 | TAHUN() | Ngasilake taun saka tanggal |
5 | WULAN() | Ngasilake sasi saka tanggal |
6 | DAY(), DAYOFMONTH() | Ngasilake dina saka tanggal |
7 | JAM() | Ngasilake mung jam saka wektu |
8 | MENIT() | Ngumumake menit saka wektu |
9 | Kapindho() | Ngasilake detik saka wektu |
10 | DAYNAME() | Ngasilake jeneng dina ing minggu: Senin, ... |
sewelas | NAMA WULAN() | Ngasilake jeneng sasi: Januari, ... |
12 | MINGGU() | Ngasilake minggu saka tanggal |
13 | MINGGU() | Ngasilake nomer dina minggu: Senin - 0, Selasa - 1 |
14 | WEKOFYEAR() | Ngasilake nomer minggu ing taun |
15 | DAYOFWEEK() | Ngasilake nomer dina minggu: Minggu - 1, Senin - 2 |
16 | DAYOFYEAR() | Ngasilake dina taun: 1-366 |
17 | TANGGAL() | Ngasilake mung tanggal saka obyek "datetime". |
18 | TAMBAHAN() | Nambah dina kanggo tanggal |
19 | SUBDATE() | Ngurangi dina saka tanggal |
20 | ADDTIME() | Nambah wektu kanggo wektu |
21 | SUBTIME() | Ngurangi wektu saka wektu |
Aku sengaja nglumpukake fungsi dadi klompok cilik supaya luwih gampang ngerti carane nggarap. Ing ngisor iki kita bakal nimbang siji fungsi saka saben klompok.
Sampeyan bisa nemokake dhaptar lengkap fungsi kanggo nggarap tanggal lan wektu ing link: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
3.2 Fungsi Telpon
Miturut cara, amarga kita lagi sinau supaya akeh fungsi, Aku iku mbiyantu kanggo sebutno sing operator SELECT
ora kudu digunakake karo FROM
. Bisa ngasilake nilai ekspresi apa wae. Tampilan umum sing diwenehake dening cithakan:
SELECT expression
Lan yen sampeyan pengin nelpon sawetara fungsi, sampeyan kudu nulis kode kaya:
SELECT function(options)
Ing ngisor iki aku bakal menehi sawetara conto operasi operator SELECT
tanpa recourse menyang tabel:
# | Panjaluk | asil |
---|---|---|
1 | PILIH 1+1 | 2 |
2 | PILIH 13 MOD 5 | 3 |
3 | PILIH RAND() | 0.20771444235715497 |
4 | PILIH CURDATE() | 2022-06-04 |
5 | PILIH CURTIME() | 00:06:02 |
6 | PILIH SAIKI() | 04-06-2022 00:06:43 |
Lan, kaya sing sampeyan ngerteni, ing tabel ing ndhuwur, kanggo entuk tanggal lan wektu saiki, sampeyan mung kudu nggunakake salah sawijining fungsi:
CURDATE()
- tanggal saiki;CURTIME()
- wektu saiki;NOW()
- tanggal lan wektu saiki.
3.3 Nglumpukake data miturut taun lan sasi
Ayo kelingan tabel tugas karo tugas kanggo karyawan. Coba klompok tugas saka tabel iki miturut taun. Kanggo nindakake iki, kita nggunakake fungsi YEAR()
, sing ngasilake taun saka tanggal kasebut.
Versi pisanan saka pitakonan kita bakal katon kaya iki:
SELECT
id,
employee_id ,
name,
YEAR(deadline) AS year,
deadline
FROM task
Asil saka pitakonan iki bakal dadi:
id | id_pegawe | jeneng | taun | deadline |
---|---|---|---|---|
1 | 1 | Ndandani bug ing frontend | 2022 | 2022-06-01 |
2 | 2 | Ndandani bug ing backend | 2022 | 2022-06-15 |
3 | 5 | Tuku kopi | 2022 | 2022-07-01 |
4 | 5 | Tuku kopi | 2022 | 2022-08-01 |
5 | 5 | Tuku kopi | 2022 | 2022-09-01 |
6 | (NULL) | Ngresiki kantor | (NULL) | (NULL) |
7 | 4 | Seneng urip | (NULL) | (NULL) |
8 | 6 | Seneng urip | (NULL) | (NULL) |
Kita bisa ndeleng manawa kabeh baris duwe taun sing padha, mula gunakake rong kolom - taun lan wulan. Versi kapindho pitakon kita bakal katon kaya iki:
SELECT
id,
employee_id ,
name,
YEAR(deadline) AS year,
MONTH(deadline) AS month,
deadline
FROM task
Asil saka pitakonan iki bakal dadi:
id | id_pegawe | jeneng | taun | wulan | deadline |
---|---|---|---|---|---|
1 | 1 | Ndandani bug ing frontend | 2022 | 6 | 2022-06-01 |
2 | 2 | Ndandani bug ing backend | 2022 | 6 | 2022-06-15 |
3 | 5 | Tuku kopi | 2022 | 7 | 2022-07-01 |
4 | 5 | Tuku kopi | 2022 | 8 | 2022-08-01 |
5 | 5 | Tuku kopi | 2022 | 9 | 2022-09-01 |
6 | (NULL) | Ngresiki kantor | (NULL) | (NULL) | (NULL) |
7 | 4 | Seneng urip | (NULL) | (NULL) | (NULL) |
8 | 6 | Seneng urip | (NULL) | (NULL) | (NULL) |
Aku ora bakal ngandhani carane nglumpukake tugas miturut taun lan sasi - sampeyan wis sinau iki: gunakake operator GROUP BY
.
GO TO FULL VERSION