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.