Apabila membandingkan tarikh dalam pangkalan data MySQL, anda mesti mempertimbangkan jenis data dan format untuk mengelakkan kesilapan dan memastikan hasilnya tepat. Cabaran umum adalah untuk membandingkan lajur DateTime dengan format tarikh yang tidak termasuk komponen masa.
<:> Soalan:
Cuba gunakan fungsi untuk membandingkan lajur DateTime dan format tarikh yang boleh menyebabkan kesilapan sintaks SQL.
Penyelesaian: CONVERT()
. Skema alternatif:
DATE()
<.> 1. Gunakan Fungsi Tarikh ():
<.> 2. Tukar DateTime setakat ini:
<.> 3. Gunakan antara dan selang:
<code class="language-sql">SELECT * FROM `players` WHERE DATE(us_reg_date) >= '2000-07-05' AND DATE(us_reg_date) < '2011-11-11';</code>
Kaedah lain adalah menggunakan keadaan dan untuk menentukan julat yang merangkumi tarikh (tidak termasuk komponen masa):
<code class="language-sql">SELECT * FROM `players` WHERE STR_TO_DATE(us_reg_date, '%Y-%m-%d') >= '2000-07-05' AND STR_TO_DATE(us_reg_date, '%Y-%m-%d') < '2011-11-11';</code>
Dengan mengguna pakai strategi alternatif ini, anda dapat membandingkan lajur DateTime dengan berkesan dengan format tarikh, sambil mengelakkan kesilapan tatabahasa dan memastikan ketepatan pertanyaan pertanyaan MySQL pertengahan perbandingan.
Atas ialah kandungan terperinci Bagaimana cara membandingkan nilai datetime dan tarikh dengan betul di MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!