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

แปลง INT เป็น DATETIME ใน MySQL หรือไม่


คุณสามารถใช้ฟังก์ชันในตัว from_unixtime() เพื่อแปลง INT เป็น DATETIME ไวยากรณ์มีดังนี้ −

เลือก FROM_UNIXTIME(yourColumnName,'%Y-%m-%d') เป็น AnyVariableName จาก yourTableName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง IntToDateDemo -> ( -> Number int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

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

mysql> ตัดทอนตาราง IntToDateDemo; Query OK, 0 แถวที่ได้รับผลกระทบ (4.11 วินาที)mysql> แทรกลงในค่า IntToDateDemo (1545284721) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า IntToDateDemo (1576820738); แบบสอบถาม ตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงในค่า IntToDateDemo (1513748752); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า IntToDateDemo (1671515204); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+-----------+| เบอร์ |+-----------+| 1545284721 || 1576820738 || 1513748752 || 1671515204 |+-----------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่แปลงเป็น datetime โดยใช้ฟังก์ชัน from_unixtime() แบบสอบถามมีดังนี้ −

mysql> เลือก from_unixtime(Number,'%Y-%m-%d') เป็น DateDemo จาก IntToDateDemo;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงวันที่เวลาที่แปลงแล้ว -

<ก่อนหน้า>+-----------+| วันที่สาธิต |+-----------+| 2018-12-20 || 2019-12-20 || 2017-12-20 || 2022-12-20 |+-----------+4 แถวในชุด (0.00 วินาที)