Ramai pembangun menghadapi keperluan untuk menukar nilai VARCHAR yang mewakili tarikh kepada format tarikh MySQL dan ekstrak komponen tarikh tertentu seperti bulan dan tahun. Artikel ini menyediakan penyelesaian kepada cabaran biasa ini dengan memandu anda melalui langkah-langkah yang terlibat.
Fungsi STR_TO_DATE ialah fungsi MySQL yang biasa digunakan untuk menukar rentetan kepada nilai tarikh. Walau bagaimanapun, menggunakannya secara langsung boleh membawa kepada hasil yang tidak dijangka, terutamanya jika format rentetan berbeza daripada format yang dinyatakan dalam fungsi.
Untuk menangani isu ini, gabungan fungsi STR_TO_DATE dan DATE_FORMAT boleh digunakan. DATE_FORMAT membolehkan anda memformatkan nilai tarikh ke dalam perwakilan rentetan tertentu.
Untuk menukar nilai VARCHAR seperti '1/9/2011' kepada tarikh dan mengekstrak bulan dan tahun sahaja (dalam format 'YYYYMM' ), gunakan pertanyaan berikut:
SELECT DATE_FORMAT(STR_TO_DATE('1/9/2011', '%m/%d/%Y'), '%Y%m');
Sebagai alternatif, jika nilai VARCHAR berada dalam 'MM/dd/YYYY' format, gunakan pertanyaan ini:
SELECT DATE_FORMAT(STR_TO_DATE('12/31/2011', '%m/%d/%Y'), '%Y%m');
Pendekatan ini memastikan penukaran nilai VARCHAR yang tepat kepada tarikh, dan kemudian mengekstrak komponen tarikh yang diingini sahaja menggunakan DATE_FORMAT.
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak Bulan dan Tahun daripada Tarikh VARCHAR dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!