บทความนี้สาธิตวิธีแปลงค่าเวลาในรูปแบบ TIME (เช่น 150:50:10) ให้เป็นรูปแบบ "วัน ชั่วโมง" (เช่น 6 วัน 6 ชั่วโมง) โดยใช้ฟังก์ชัน HOUR(), FLOOR(), MOD() และ CONCAT()
สร้างตารางและข้อมูลทดสอบ
mysql> CREATE TABLE DemoTable657 (DueTime TIME);
Query OK, 0 rows affected (3.68 sec)
mysql> INSERT INTO DemoTable657 VALUES('120:30:00');
mysql> INSERT INTO DemoTable657 VALUES('150:50:10');
ข้อมูลในตาราง
+-----------+
| DueTime |
+-----------+
| 120:30:00 |
| 150:50:10 |
+-----------+
คิวรีแปลง TIME เป็น วันและชั่วโมง
mysql> SELECT CONCAT(
FLOOR(HOUR(DueTime)/24), ' DAYS, ',
HOUR(DueTime) MOD 24, ' HOURS.'
) FROM DemoTable657;
ผลลัพธ์
+-----------------------------------------------------------------------------+
| CONCAT( FLOOR(HOUR(DueTime)/24), ' DAYS, ', HOUR(DueTime) MOD 24, ' HOURS.') |
+-----------------------------------------------------------------------------+
| 5 DAYS, 0 HOURS. |
| 6 DAYS, 6 HOURS. |
+-----------------------------------------------------------------------------+
คำอธิบาย:
HOUR(DueTime)- ดึงจำนวนชั่วโมงทั้งหมดจากค่า TIMEFLOOR(HOUR(DueTime)/24)- คำนวณจำนวนวันเต็มHOUR(DueTime) MOD 24- คำนวณชั่วโมงที่เหลือหลังหารด้วย 24CONCAT()- รวมข้อความเป็นรูปแบบที่อ่านง่าย