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

เราจะแปลงค่า TIME และ DATETIME เป็นรูปแบบตัวเลขใน MySQL ได้อย่างไร


การแปลงค่า TIME(N) และ DATETIME(N) เป็นรูปแบบตัวเลขสามารถทำได้โดยการเพิ่ม 0(+0) เข้าไป ต่อไปนี้เป็นกฎสำหรับการแปลงประเภทนี้ -

แปลงเป็น INTEGER

ค่า TIME(N) และ DATETIME(N) จะถูกแปลงเป็นจำนวนเต็มเมื่อ N เป็น 0

ตัวอย่างเช่น ค่าของ CURTIME() และ NOW() สามารถแปลงเป็นค่าจำนวนเต็มได้ดังนี้ -

mysql> SELECT CURTIME(), CURTIME()+0;
+-----------+-------------------+
| CURTIME() | CURTIME()+0       |
+-----------+-------------------+
| 19:42:54  | 194254            |
+-----------+-------------------+
1 row in set (0.04 sec)

mysql> SELECT NOW(), NOW()+0;
+-------------------------+----------------------------------+
| NOW()                   | NOW()+0                          |
+-------------------------+----------------------------------+
| 2017-10-27 19:43:43     | 20171027194343                   |
+-------------------------+----------------------------------+
1 row in set (0.00 sec)

แปลงเป็นทศนิยม

ค่า TIME(N) และ DATETIME(N) จะถูกแปลงเป็นจำนวนเต็มเมื่อ N มากกว่า 0
ตัวอย่างเช่น ค่าของ CURTIME() และ NOW() สามารถแปลงเป็นค่าทศนิยมได้ดังนี้ -

mysql> SELECT CURTIME(), CURTIME(3)+0;
+-----------+-------------------+
| CURTIME() | CURTIME()+0       |
+-----------+-------------------+
| 19:47:40  | 194740.575        |
+-----------+-------------------+
1 row in set (0.04 sec)

mysql> SELECT NOW(), NOW(3)+0;
+-------------------------+----------------------------------+
| NOW()                   | NOW()+0                          |
+-------------------------+----------------------------------+
| 2017-10-27 19:48:45     | 20171027194845.589               |
+-------------------------+----------------------------------+
1 row in set (0.00 sec)