Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Mendapatkan Tahun dan Bulan Dari Tanggal di MySQL

Masalah:

Anda ingin mendapatkan tahun dan bulan dari tanggal tertentu dalam database MySQL.

Contoh:

Basis data kami memiliki tabel bernama dates dengan data pada kolom id dan date .

id tanggal
1 21-04-2008
2 1987-12-14

Mari kita ekstrak year dan month dari tanggal.

Solusi 1:

SELECT
EXTRACT(YEAR FROM date) AS year,
EXTRACT(MONTH FROM date) AS month
FROM dates;

Hasilnya adalah:

tahun bulan
2008 4
1987 12

Diskusi:

Untuk mendapatkan kolom tahun dan bulan, gunakan EXTRACT(part FROM date) fungsi. Dalam solusi ini, argumen bagian diganti dengan YEAR dan MONTH untuk mendapatkan year dan month terpisah, masing-masing dalam kolomnya sendiri.

Anda dapat mempelajari lebih lanjut tentang EXTRACT() dalam dokumentasi resmi MySQL.

Solusi 2:

SELECT
EXTRACT(YEAR_MONTH FROM date) AS year_and_month
FROM dates;

Hasilnya adalah:

tahun_dan_bulan
200804
198712

Diskusi:

Solusi ini bekerja persis seperti yang sebelumnya, tetapi YEAR_MONTH digunakan untuk menyatukan tahun dan bulan dalam satu kolom alih-alih membuatnya secara terpisah. Perhatikan bahwa nilai tahun dan bulan tidak terpisah satu sama lain.

Solusi 3:

SELECT
YEAR(date) AS year,
MONTH(date) AS month
FROM dates;

Hasilnya adalah:

tahun bulan
2008 4
1987 12

Diskusi:

Kali ini, YEAR() dan MONTH() fungsi yang digunakan untuk membuat dua kolom. YEAR() mengembalikan tahun dan MONTH() mengembalikan bulan sebagai angka.

Solusi 4:

SELECT
YEAR(date) AS year,
MONTHNAME(date) AS month
FROM dates;

Hasilnya adalah:

tahun bulan
2008 April
1987 Desember

Diskusi:

Untuk mendapatkan nama bulan, gunakan MONTHNAME() fungsi. Hasilnya menampilkan nama bulan, bukan nomor bulan.

Solusi 5:

SELECT
DATE_FORMAT(date, '%Y-%m') AS year_and_month
FROM dates;

Hasilnya adalah:

tahun_dan_bulan
2008-04
1987-12

Diskusi:

Gunakan DATE_FORMAT() berfungsi untuk menampilkan date nilai dalam format tertentu. Dibutuhkan date sebagai argumen pertama dan string yang menjelaskan format tanggal yang diinginkan sebagai argumen kedua. Dalam kasus kami, string '%Y-%m ', %Y mengembalikan tahun, - digunakan sebagai pemisah, dan %m mengembalikan bulan secara numerik (dapat diganti dengan %M untuk mendapatkan nama bulan).

Anda dapat mempelajari lebih lanjut tentang DATE_FORMAT() dalam dokumentasi resmi MySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah Mysql memiliki setara dengan @@ROWCOUNT seperti di mssql?

  2. Cara Menggunakan MySql Di Mac

  3. Perbedaan antara INDEX, PRIMARY, UNIQUE, FULLTEXT di MySQL?

  4. Menggunakan SQL LIKE dan IN bersama-sama

  5. Batasan unik yang memungkinkan nilai kosong di MySQL