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

ชนิดข้อมูลสำหรับ unix_timestamp ใน MySQL คืออะไร?


ชนิดข้อมูลที่ดีที่สุดสำหรับ unix_timestamp ใน MySQL คือจำนวนเต็ม ชนิดข้อมูลจำนวนเต็มมีดังนี้

int(11);

ชนิดข้อมูลจำนวนเต็มมีประโยชน์สำหรับการตรวจสอบเงื่อนไข เช่น (> ,<=) และการจัดทำดัชนี ชนิดส่งคืนของ unix_timestamp เป็นจำนวนเต็ม

อย่างไรก็ตาม มาดูกันว่าเราได้อะไรเป็น UNIX Timestamp เมื่อเราแปลง datetime เป็นการประทับเวลา

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง UnixTime -> ( -> DueTime datetime -> ); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.55 วินาที)

แทรกบันทึกในรูปแบบของวันที่โดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า UnixTime (ตอนนี้ ()); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า UnixTime ('2010-10-14'); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที )mysql> แทรกลงในค่า UnixTime ('2020-09-24'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

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

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

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

<ก่อนหน้า>+---------------------+| DueTime |+--------------------+| 2018-12-19 10:07:11 || 2010-10-14 00:00:00 || 2020-09-24 00:00:00 |+----------------------+3 แถวในชุด (0.00 วินาที)

ให้เราดูแบบสอบถามเพื่อแปลง datetime เป็นเวลา UNIX

mysql> เลือก unix_timestamp(DueTime) เป็นเอาต์พุตจาก UnixTime

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

<ก่อนหน้า>+-----------+| เอาท์พุต |+-----------+| 1545194231 || 1286994600 || 1600885800 |+------------+3 แถวในชุด (0.00 วินาที)