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

รวมคอลัมน์วันที่และเวลาลงในเวลาประทับใน MySQL?


หากต้องการรวมคอลัมน์วันที่และเวลาเข้ากับการประทับเวลา คุณสามารถใช้ฟังก์ชัน cast() กับ concat()

ไวยากรณ์มีดังนี้ −

เลือก cast(concat(yourDateColumnName, ' ', yourTimeColumnName) เป็น datetime) เป็น anyVariableName จาก yourTableName;

ในแนวคิดข้างต้น คุณจะใช้ cast() เมื่อวันที่และเวลาของคุณอยู่ในรูปแบบสตริง ฟังก์ชัน cast() สามารถใช้ได้กับวันที่และเวลาเท่านั้น เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง

แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง DateAndTimeToTimestamp −> ( −> วันที่ครบกำหนด −> DueTime time −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.51 วินาที)

แทรกระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า DateAndTimeToTimestamp (date_add(curdate(),interval 2 day),'10:30:02');Query OK, 1 แถวได้รับผลกระทบ (0.34 วินาที)mysql> แทรกลงในค่า DateAndTimeToTimestamp (date_add(curdate) (),ช่วงเวลา -2 วัน),'12:20:45');แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า DateAndTimeToTimestamp(date_add(curdate(),interval 1 day),'01:32 :42');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า DateAndTimeToTimestamp (date_add(curdate(), ช่วงเวลา -1 วัน),'14:25:58'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.30 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-----------+----------+| Duedate | DueTime |+-----------+----------+| 2018-12-16 | 10:30:02 || 2018-12-12 | 12:20:45 || 2018-12-15 | 01:32:42 || 2018-12-13 | 14:25:58 |+------------+----------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้คือข้อความค้นหาที่จะรวมคอลัมน์วันที่และเวลาเข้ากับการประทับเวลา -

mysql> เลือก concat (Duedate, ' ', DueTime) เป็น timestampDemo จาก DateAndTimeToTimestamp;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+---------------------+| การประทับเวลาสาธิต |+---------------------+| 2018-12-16 10:30:02 || 2018-12-12 12:20:45 || 2018-12-15 01:32:42 || 2018-12-13 14:25:58 |+---------------------+4 แถวในชุด (0.00 วินาที)