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

จะเลือกบันทึกเฉพาะจาก MySQL ได้อย่างไรหากวันที่อยู่ในรูปแบบ VARCHAR


สำหรับสิ่งนี้ ให้ใช้ STR_TO_DATE() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( DueDate varchar(60));ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.71 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('12-AUG-2016'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable ('14-AUG-2018'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable ('24-AUG-2012'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable ('14-AUG-2012'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------------+| DueDate |+-------------+| 12-ส.ค. 2559 || 14-ส.ค. 2561 || 24 ส.ค. 2555 || 14-ส.ค. 2555 |+-------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกบันทึกจาก MySQL หากวันที่อยู่ในรูปแบบ VARCHAR เมธอด STR_TO_DATE() ใช้เพื่อแปลงสตริงเป็นวันที่ -

mysql> เลือก *จาก DemoTable โดยที่ str_to_date(DueDate,'%d-%M-%Y')=str_to_date('14-AUG-2012','%d-%M-%Y'); 

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------------+| DueDate |+-------------+| 14-ส.ค. 2555 |+-------------+1 แถวในชุด (0.00 วินาที)