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

MySQL คืนค่าอะไรเมื่อใช้ UNIX_TIMESTAMP() โดยไม่มีอาร์กิวเมนต์

ในกรณีนี้ MySQL จะคืนค่า Unix timestamp ของวันที่และเวลาปัจจุบัน ดังนั้นการไม่ระบุอาร์กิวเมนต์เทียบเท่ากับการใช้ NOW() เป็นอาร์กิวเมนต์ของ UNIX_TIMESTAMP()

ตัวอย่าง: รันคำสั่ง UNIX_TIMESTAMP() โดยไม่มีค่า และพร้อม NOW() จะได้ผลลัพธ์เหมือนกัน

mysql> SELECT UNIX_TIMESTAMP();
+------------------+
| UNIX_TIMESTAMP() |
+------------------+
| 1509405559       |
+------------------+
1 row in set (0.00 sec)

mysql> SELECT UNIX_TIMESTAMP(NOW());
+-----------------------+
| UNIX_TIMESTAMP(NOW()) |
+-----------------------+
| 1509405559            |
+-----------------------+
1 row in set (0.00 sec)

สามารถตรวจสอบได้โดยนำผลลัพธ์ไปเป็นอาร์กิวเมนต์ของ FROM_UNIXTIME() จะได้ค่า timestamp ปัจจุบัน:

mysql> SELECT FROM_UNIXTIME(1509405559);
+---------------------------+
| FROM_UNIXTIME(1509405559) |
+---------------------------+
| 2017-10-31 04:49:19       |
+---------------------------+
1 row in set (0.00 sec)