it-swarm-id.com

Bagaimana cara mengekstrak Bulan dan Tahun di tanggal MySQL dan membandingkannya?

Bagaimana cara mengekstrak bulan dan tanggal dari tanggal mySQL dan membandingkannya dengan tanggal lain?

Saya menemukan BULAN ini () tetapi hanya mendapatkan bulannya. Saya mencari bulan dan tahun.

27
JohnSmith

di Mysql Doku: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_extract

SELECT EXTRACT( YEAR_MONTH FROM `date` ) 
FROM `Table` WHERE Condition = 'Condition';
61
betasux

Jika Anda membandingkan antara tanggal, ekstrak tanggal lengkap untuk perbandingan. Jika Anda membandingkan tahun dan bulan saja, gunakan

SELECT YEAR(date) AS 'year', MONTH(date) AS 'month'
 FROM Table Where Condition = 'Condition';
30

Sementara itu dibahas dalam komentar, belum ada jawaban yang berisi itu, sehingga mudah untuk dilewatkan. DATE_FORMAT berfungsi dengan sangat baik dan fleksibel untuk menangani banyak pola berbeda.

DATE_FORMAT(date,'%Y%m')

Untuk memasukkannya ke dalam kueri:

SELECT DATE_FORMAT(test_date,'%Y%m') AS date FROM test_table;
19
SELECT * FROM Table_name Where Month(date)='10' && YEAR(date)='2016';
5
Waseem Ahmad

Anda mungkin ingin memeriksa dokumen mySQL sehubungan dengan fungsi tanggal. http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

Ada fungsi YEAR () sama seperti ada fungsi MONTH (). Jika Anda melakukan perbandingan, adakah alasan untuk memotong tanggal? Apakah Anda benar-benar tertarik untuk mengabaikan perbedaan berdasarkan hari dan jika demikian apakah ini yang ingin Anda lakukan?

1
Carth

Seharusnya juga ada TAHUN ().

Sedangkan untuk membandingkan, Anda dapat membandingkan tanggal yang merupakan hari pertama tahun dan bulan tersebut, atau Anda dapat mengubah pasangan tahun/bulan menjadi angka yang cocok untuk perbandingan (mis. Lebih besar = nanti). (Latihan diserahkan kepada pembaca. Untuk petunjuk, baca tentang format tanggal ISO.)

Atau Anda dapat menggunakan beberapa perbandingan (mis. Tahun pertama, lalu bulan).

1
aib