Menukar VARCHAR kepada Tarikh dalam MySQL: Mengekstrak Bulan dan Tahun
Dalam MySQL, anda boleh menghadapi situasi di mana anda perlu menukar rentetan VARCHAR mewakili tarikh ke dalam jenis data tarikh. Jika anda secara khusus perlu mengekstrak hanya bulan dan tahun dari tarikh untuk digunakan dalam pengiraan, adalah penting untuk mengikuti pendekatan yang betul.
Menggunakan STR_TO_DATE dengan Format yang Betul
Apabila cuba menukar rentetan VARCHAR kepada tarikh, menggunakan fungsi STR_TO_DATE ialah kaedah biasa. Walau bagaimanapun, menentukan rentetan format yang betul adalah penting untuk mengelakkan hasil yang tidak dijangka.
Sebagai contoh, diberikan rentetan input "1/9/2011," pertanyaan berikut:
SELECT STR_TO_DATE(CYOApp_oilChangedDate, '%m/%Y') FROM CYO_AppInfo
tidak akan menghasilkan output yang dikehendaki. Rentetan format ini menjangkakan data dalam bentuk "MM/YYYY," yang tidak sejajar dengan input anda.
Penukaran Betul
Untuk menukar rentetan input menjadi dengan betul tarikh, anda perlu menentukan rentetan format yang betul sebagai:
SELECT date_format(str_to_date('1/9/2011', '%d/%m/%Y'), '%Y%m')
Rentetan format ini "%d/%m/%Y" menandakan bahawa rentetan input mengikut format "DD/MM/YYYY".
Sebagai alternatif, anda juga boleh menggunakan pertanyaan berikut:
SELECT date_format(str_to_date('12/31/2011', '%m/%d/%Y'), '%Y%m')
Perhatikan bahawa susunan hari dan bulan dalam rentetan format hendaklah sepadan dengan tertib dalam rentetan input anda.
Atas ialah kandungan terperinci Bagaimana Mengeluarkan Bulan dan Tahun dengan Cekap daripada Tarikh VARCHAR dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!