Rumah >pangkalan data >tutorial mysql >Bagaimana Mengeluarkan Bulan dan Tahun dengan Cekap daripada Tarikh VARCHAR dalam MySQL?

Bagaimana Mengeluarkan Bulan dan Tahun dengan Cekap daripada Tarikh VARCHAR dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-10 14:18:11823semak imbas

How to Efficiently Extract Month and Year from VARCHAR Dates in MySQL?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn