หากต้องการส่ง DATETIME เป็น DATE ใน MySQL ให้ใช้ฟังก์ชัน CAST() ไวยากรณ์มีดังนี้ −
เลือก cast(yourColumnName as Date) เป็น anyVariableName จาก yourTableName;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง ConvertDatetimeToDate−> ( −> YourDatetime datetime−> );ค้นหาตกลง 0 แถวได้รับผลกระทบ (0.95 วินาที)
การแทรก datetime ลงในตารางโดยใช้คำสั่ง insert แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า ConvertDatetimeToDate (date_add(now(),interval 1 day));Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า ConvertDatetimeToDate (date_add(now(),interval -1 day) );แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า ConvertDatetimeToDate (date_add (ตอนนี้ () ช่วงเวลา 1 ปี)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า ConvertDatetimeToDate (date_add( ตอนนี้(),ช่วง -1 ปี));แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที)
แสดงระเบียนทั้งหมดที่แทรกด้านบน แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก ConvertDatetimeToDate;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+---------------------+| YourDatetime |+--------------------+| 2018-11-28 16:12:50 || 2018-11-26 16:13:00 || 2019-11-27 16:13:13 || 2017-11-27 16:13:24 |+---------------------+4 แถวในชุด (0.00 วินาที)ตอนนี้คุณสามารถใช้ไวยากรณ์ด้านบนเพื่อส่งวันที่และเวลาจนถึงปัจจุบัน แบบสอบถามมีดังนี้ −
mysql> เลือก cast (YourDatetime เป็น Date) เป็น OnlyDateDemo จาก ConvertDatetimeToDate;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-------------+| OnlyDateDemo |+--------------+| 2018-11-28 || 2018-11-26 || 2019-11-27 || 2017-11-27 |+--------------+4 แถวในชุด (0.00 วินาที)