Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เปรียบเทียบเฉพาะวันและเดือนกับฟิลด์วันที่ใน MySQL?


คุณสามารถเปรียบเทียบเฉพาะวันและเดือนกับฟิลด์วันที่ใน MySQL ด้วยความช่วยเหลือของ DATE_FORMAT()

ไวยากรณ์มีดังนี้

เลือก *จาก yourTableNameWHERE DATE_FORMAT(yourColumnName, '%m-%d') =DATE_FORMAT('yourValue', '%m-%d') และเงื่อนไขของคุณ

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง CompareDayAndMonthDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> comparisonDayAndTime date -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.49 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert

แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า CompareDayAndMonthDemo(compareDayAndTime) ('2014-01-31'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า CompareDayAndMonthDemo(compareDayAndTime) ('2014-10-11');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า CompareDayAndMonthDemo(compareDayAndTime) ('2016-09-12'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที)mysql> แทรกลงในค่า CompareDayAndMonthDemo (compareDayAndTime) ( '2017-04-25'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่าเปรียบเทียบวันและเดือน (compareDayAndTime) ('2018-12-25'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า CompareDayAndMonthDemo(compareDayAndTime) ('2019-02-27'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select

แบบสอบถามมีดังนี้

mysql> เลือก *จาก comparisonDayAndMonthDemo;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+-------------------+| รหัส | CompareDayAndTime |+----+-------------------+| 1 | 2014-01-31 || 2 | 2014-10-11 || 3 | 2016-09-12 || 4 | 2017-04-25 || 5 | 2018-12-25 || 6 | 2019-02-27 |+----+-------------------+6 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเปรียบเทียบเฉพาะวันและเดือน

mysql> เลือก *from comparisonDayAndMonthDemo-> WHERE DATE_FORMAT(compareDayAndTime, '%m-%d') =DATE_FORMAT('2019-01-31', '%m-%d') และ Id=1; 

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+----+-------------------+| รหัส | CompareDayAndTime |+----+-------------------+| 1 | 2014-01-31 |+----+-------------------+1 แถวในชุด (0.00 วินาที)

หากคุณต้องการเฉพาะวันและเดือน ให้ใช้คำค้นหาด้านล่าง

mysql> เลือก DATE_FORMAT(compareDayAndTime, '%m-%d') AS DayAndMonthOnly from comparisonDayAndMonthDemo-> WHERE DATE_FORMAT(compareDayAndTime, '%m-%d') =DATE_FORMAT('2019-01-31', '% m-%d') และ Id=1;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-----------------+| วันและเดือนเท่านั้น |+-----------------+| 01-31 |+-----------------+1 แถวในชุด (0.00 วินาที)