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

เปรียบเทียบวันที่ใน MySQL โดยไม่สนใจส่วนเวลาของฟิลด์ DateTime หรือไม่


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

เลือก *จาก yourTableName โดยที่ date(yourColumName) =yourDate;

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง ComparingDate −> ( −> Name varchar(100), −> วันที่เข้าสู่ระบบ −> );Query OK, 0 แถวได้รับผลกระทบ (0.50 วินาที)

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า ComparingDate ('John','2014-04-06 22:50:45'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า ComparingDate ('Bob',' 2018-12-15 15:07:46 ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า ComparingDate ('Carol','2016-03-10 21:50:40'); แบบสอบถามตกลง , 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า ComparingDate ('David','1995-08-08 23:40:47'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)

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

mysql> เลือก *จากวันที่เปรียบเทียบ

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

<ก่อนหน้า>+-------+---------------------+| ชื่อ | เข้าสู่ระบบ |+-------+---------------------+| จอห์น | 2014-04-06 22:50:45 || บ๊อบ | 2018-12-15 15:07:46 || แครอล | 2016-03-10 21:50:40 || เดวิด | 1995-08-08 23:40:47 |+-------+---------------------+4 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นเพื่อเปรียบเทียบเฉพาะวันที่ ไม่ใช่เวลา -

mysql> เลือก *จาก ComparingDate โดยที่ date(Login) ='2016-03-10';

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

<ก่อนหน้า>+-------+---------------------+| ชื่อ | เข้าสู่ระบบ |+-------+---------------------+| แครอล | 2016-03-10 21:50:40 |+-------+--------------------- +1 แถวในชุด (0.00 วินาที)