ไม่รู้ว่าเกิดอะไรขึ้นที่นี่ นี่คือข้อความค้นหาจาก phpMyAdmin:
SELECT * FROM `la_schedule` WHERE 'start_date' >'2012-11-18';
แต่ฉันมักจะได้รับระเบียนทั้งหมดในตารางคืนรวมถึงระเบียนที่มีวันที่เริ่มต้น 2012-11-01 ด้วย สิ่งที่ช่วยให้?
ไม่รู้ว่าเกิดอะไรขึ้นที่นี่ นี่คือข้อความค้นหาจาก phpMyAdmin:
SELECT * FROM `la_schedule` WHERE 'start_date' >'2012-11-18';
แต่ฉันมักจะได้รับระเบียนทั้งหมดในตารางคืนรวมถึงระเบียนที่มีวันที่เริ่มต้น 2012-11-01 ด้วย สิ่งที่ช่วยให้?
คำตอบ:
คุณได้ใส่เครื่องหมายstart_date
คำพูดเดี่ยวทำให้กลายเป็นสตริงให้ใช้backtick
แทน
SELECT * FROM `la_schedule` WHERE `start_date` > '2012-11-18';
ในคำสั่งของคุณคุณกำลังเปรียบเทียบสตริงที่เรียกว่าstart_dateกับเวลา
ถ้าstart_dateเป็นคอลัมน์ก็ควรจะเป็น
SELECT * FROM `la_schedule` WHERE start_date >'2012-11-18';
(ไม่มีเครื่องหมายวรรคตอน) หรือ
SELECT * FROM `la_schedule` WHERE `start_date` >'2012-11-18';
(พร้อมแบ็คทิค)
หวังว่านี่จะช่วยได้
ลองทำตามนี้
SELECT * FROM la_schedule WHERE `start_date` > '2012-11-18';
ในกรณีของฉันคอลัมน์ของฉันเป็นวันที่และเวลาที่ให้บันทึกทั้งหมดแก่ฉัน สิ่งที่ฉันทำคือการรวมเวลาดูตัวอย่างด้านล่าง
SELECT * FROM my_table where start_date > '2011-01-01 01:01:01';
ฉันได้ลองแล้ว แต่ข้างต้นไม่ได้ผลหลังจากการวิจัยพบวิธีแก้ปัญหาด้านล่าง
SELECT * FROM my_table where DATE(start_date) > '2011-01-01';