Masalah:
Anda ingin mendapatkan tahun dari kolom tanggal/waktu dalam database MySQL.
Contoh:
Basis data kami memiliki tabel bernama conference dengan data pada kolom id , name , dan start_datetime .
| id | nama | waktu_tanggal_mulai |
|---|---|---|
| 1 | Dunia Media Sosial | 20-02-2019 14:15:34 |
| 2 | Dunia Seluler 2017 | 31-08-2017 20:10:14 |
| 3 | Pertunjukan Elektronik | 03-04-2018 10:05:45 |
| 4 | Tech Asia 2019 | 01-01-2019 12:47:54 |
Untuk setiap konferensi, sebutkan nama dan tahunnya. Kita harus mendapatkan hanya tahun dari start_datetime kolom.
Solusi:
Kami akan menggunakan YEAR() fungsi. Inilah kueri yang akan Anda tulis:
SELECT name,
YEAR(start_datetime)
AS year_of_conference
FROM conference;
Berikut hasil querynya:
| nama | tahun_konferensi |
|---|---|
| Dunia Media Sosial | 2019 |
| Dunia Seluler 2017 | 2017 |
| Pertunjukan Elektronik | 2018 |
| Tech Asia 2019 | 2019 |
Diskusi:
Gunakan YEAR() berfungsi untuk mengambil nilai tahun dari kolom tanggal/tanggal/waktu di MySQL. Fungsi ini hanya membutuhkan satu argumen – tanggal atau tanggal dan waktu. Ini bisa berupa nama kolom tanggal/waktu/stempel waktu atau ekspresi yang mengembalikan salah satu tipe data tersebut. (Dalam contoh kita, ini adalah kolom start_datetime dari tipe data tanggal.)
YEAR() mengembalikan tahun sebagai bilangan bulat dari 1000 hingga 9999. 'Dunia Media Sosial' tanggal mulai konferensi adalah '2019-02-20 14:15:34' , jadi YEAR() mengembalikan '2019' untuk catatan ini.