การแปลงค่า 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)