Menukar Rentetan Tarikh dalam MySQL
Apabila bekerja dengan pangkalan data, adalah perkara biasa untuk menemui tarikh yang disimpan sebagai rentetan dalam format bukan standard. Dalam contoh ini, katakan anda mempunyai tarikh yang disimpan sebagai rentetan "dd/mm/yyyy". Untuk memanipulasi tarikh ini dengan berkesan, anda mungkin mahu menukarnya kepada format "yyyy-mm-dd" piawai.
Penyelesaian:
MySQL menyediakan fungsi berkuasa yang dipanggil STR_TO_DATE yang membolehkan anda menghuraikan rentetan tarikh ke dalam jenis data datetime. Untuk mencapai penukaran yang anda inginkan, gunakan sintaks berikut dalam pertanyaan SELECT:
STR_TO_DATE(t.datestring, '%d/%m/%Y')
Di mana "t" mewakili nama jadual dan "datestring" ialah lajur yang mengandungi rentetan tarikh. Ini akan menukar rentetan kepada jenis data masa tarikh.
Untuk memastikan output berada dalam format "yyyy-mm-dd", anda boleh menggunakan fungsi DATE_FORMAT:
DATE_FORMAT(STR_TO_DATE(t.datestring, '%d/%m/%Y'), '%Y-%m-%d')
Pendekatan Alternatif:
Jika mengubah suai jenis data lajur asal bukan pilihan, pertimbangkan untuk membuat paparan menggunakan fungsi STR_TO_DATE untuk menukar lajur rentetan kepada lajur datetime:
CREATE VIEW my_view AS SELECT t.id, t.other_columns, STR_TO_DATE(t.datestring, '%d/%m/%Y') AS converted_date FROM t
Anda kemudian boleh menggunakan paparan ini untuk mengakses tarikh dalam format piawai.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Tarikh 'dd/mm/yyyy' kepada 'yyyy-mm-dd' dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!