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

แบบสอบถาม MySQL เพื่อแปลงสตริงเช่น "1h 15 นาที" เป็น 75 นาที?


คุณสามารถใช้ str_to_date() สำหรับการแปลงนี้ ให้เราสร้างตารางก่อน -

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

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

mysql> แทรกลงในค่า DemoTable ('1h 15 min'); Query OK, 1 แถวได้รับผลกระทบ (0.24 วินาที)mysql> แทรกลงในค่า DemoTable ('2h 30 นาที'); Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที) )

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

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

ผลลัพธ์

<ก่อนหน้า>+-----------+| stringDate |+-----------+| 1 ชม. 15 นาที || 2 ชม. 30 นาที |+-----------+2 แถวในชุด (0.00 se

ต่อไปนี้เป็นแบบสอบถามเพื่อแปลงสตริงเป็นสตริงเช่น "1 ชั่วโมง 15 นาที" เป็น 75 เช่น 75 นาที -

mysql> selecttime_to_sec(str_to_date(stringDate, '%lh %i min')) / 60 วินาทีจาก DemoTableการมีวินาทีไม่ใช่ nullunion allselecttime_to_sec(str_to_date(stringDate, '%i min')) / 60 วินาทีจาก DemoTableการที่มีวินาทีไม่เป็นค่าว่าง 

ผลลัพธ์

<ก่อนหน้า>+----------+| วินาที |+----------+| 75.0000 || 150.0000 |+----------+2 แถวในชุด 2 คำเตือน (0.04 วินาที)