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

MySQL เลือกเพื่อรับผู้ใช้ที่เข้าสู่ระบบวันนี้?


หากต้องการให้ผู้ใช้เข้าสู่ระบบวันนี้ ให้ใช้ไวยากรณ์ด้านล่าง ที่นี่ เราคาดว่าฟิลด์วันที่และเวลาของคุณจะเป็นประเภทสตริง -

select yourColumnName1,yourColumnName2,yourColumnName3,...Nfrom youTableNameWHERE STR_TO_DATE(yourColumnName1, 'format'') =CURDATE();

สมมติว่าเรามีตาราง "DateEqualToday" ต่อไปนี้ซึ่งเก็บชื่อผู้ใช้และนามสกุลด้วยวันที่เข้าสู่ระบบ -

<ก่อนหน้า>+------+-----------+-----------+-----------+| รหัส | ชื่อจริง | Last_Name | วันที่เข้าสู่ระบบ |+------+-----------+-----------+-----------+| 1 | เจมส์ | สมิ ธ | 20-12-2018 || 2 | แครอล | เทย์เลอร์ | 21-12-2017 || 3 | จอห์น | สมิ ธ | 21-12-2018 || 4 | มาเรีย | การ์เซีย | 22-12-2018 || 5 | ไมค์ | เดวิส | 21-12-2018 || 6 | บ๊อบ | วิลสัน | 21-12-2018 |+------+-----------+-----------+----------- -+6 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อกรองผู้ใช้ที่เข้าสู่ระบบในวันนี้ ในแบบสอบถามนี้ เปรียบเทียบวันที่ของคุณกับฟังก์ชัน curdate() เนื่องจาก curdate() ให้เฉพาะวันที่ปัจจุบัน -

mysql> เลือก Id,First_Name,LoginDate -> จาก DateEqualToday โดยที่ STR_TO_DATE(LoginDate, '%d-%m-%Y')=CURDATE();

ผลลัพธ์

<ก่อนหน้า>+------+-----------+-----------+| รหัส | ชื่อจริง | วันที่เข้าสู่ระบบ |+------+-----------+-----------+| 3 | จอห์น | 21-12-2018 || 5 | ไมค์ | 21-12-2018 || 6 | บ๊อบ | 21-12-2018 |+------+-----------+-----------+3 แถวในชุด (0.00 วินาที)