ไม่มีความแตกต่างระหว่างฟังก์ชัน cast as Date และ date() ใน MySQL
ไวยากรณ์ของทั้ง cast() และ date() มีดังต่อไปนี้ −
ส่ง(yourDateTimeColumnName as Date)date(yourDateTimeColumnName)
ทั้งสองฟังก์ชันเรียก Item_date_typecast ภายใน ในการตรวจสอบทั้งสองฟังก์ชัน ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง CastAsDateDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> ArrivalTime datetime, -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (0.71 วินาที)
ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า CastAsDateDemo(ArrivalTime) ('2014-1-13 13 −45 −46'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า CastAsDateDateDemo (ArrivalTime) ('2016- 4-11 10 −30 −31');Query OK, 1 แถวได้รับผลกระทบ (0.48 วินาที)mysql> แทรกลงในค่า CastAsDateDemo(ArrivalTime) ('2019-1-9 19 −17 −49'); Query OK, 1 แถว ได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า CastAsDateDemo (ArrivalTime) (date_add (ตอนนี้ () ช่วงเวลา 2 วัน)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก CastAsDateDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----+----------------------+| รหัส | เวลามาถึง |+---+----------------------+| 1 |2014-01-13 13 −45 −46 || 2 |2016-04-11 10 −30 −31 || 3 |2019-01-09 19 −17 −49 || 4 |2019-01-11 19 −17 −59 |+----+---------------------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามที่จะส่งเป็นวันที่โดยใช้ cast() -
mysql> เลือก cast (ArrivalTime เป็น Date) เป็น only_Date จาก CastAsDateDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-----------+| only_Date |+-----------+| 2014-01-13 || 2016-04-11 || 2019-01-09 || 2019-01-11 |+------------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามที่จะส่งเป็นวันที่โดยใช้ date() แบบสอบถามมีดังนี้ −
mysql> เลือกวันที่ (ArrivalTime) เป็น only_Date จาก CastAsDateDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-----------+| only_Date |+-----------+| 2014-01-13 || 2016-04-11 || 2019-01-09 || 2019-01-11 |+------------+4 แถวในชุด (0.00 วินาที)