Menukar VARCHAR kepada Tarikh dengan Pengekstrakan Bulan dan Tahun dalam MySQL
Untuk menukar nilai VARCHAR yang mewakili tarikh kepada nilai tarikh sahaja dalam MySQL, anda boleh menggunakan fungsi STR_TO_DATE dan DATE_FORMAT. Walau bagaimanapun, jika anda secara khusus memerlukan bulan dan tahun sahaja dalam format YYMM, anda perlu mengubah suai pendekatan anda.
Membetulkan Ralat dalam Penukaran STR_TO_DATE
Penggunaan STR_TO_DATE oleh anda cuba menukar nilai dalam format 'mm/dd/yyyy'. Walau bagaimanapun, nilai input sampel anda ('1/9/2011') tidak sepadan dengan format ini. Akibatnya, anda memperoleh output yang tidak dijangka seperti '2009-01-00'.
PENYELESAIAN: Menggunakan DATE_FORMAT dan STR_TO_DATE
Untuk mendapatkan bulan dan tahun dalam format YYMM , anda boleh menggabungkan fungsi DATE_FORMAT dan STR_TO_DATE sebagai berikut:
SELECT DATE_FORMAT(str_to_date('1/9/2011', '%d/%m/%Y'), '%Y%m');
Ungkapan ini akan menukar input nilai VARCHAR kepada tarikh dan kemudian memformatnya sebagai 'yyyymm'. Keputusan akhir ialah '201101', seperti yang anda inginkan.
Nota Tambahan:
Turutan hari (hb), bulan (mm), dan tahun ( yyyy) dalam fungsi STR_TO_DATE hendaklah sepadan dengan format nilai VARCHAR input anda. Laraskan rentetan format dengan sewajarnya jika susunannya berbeza dalam kes anda.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengekstrak Bulan dan Tahun dalam Format YYMM daripada Tarikh VARCHAR dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!