เมื่อต้องการเพิ่มหรือลดเวลาในคอลัมน์ชนิด TIME สามารถใช้ฟังก์ชัน DATE_ADD() หรือ DATE_SUB() ร่วมกับ INTERVAL ได้
สร้างตารางตัวอย่าง
mysql> create table DemoTable (
DelayTime time );
Query OK, 0 rows affected (1.21 sec)
เพิ่มข้อมูลตัวอย่าง
mysql> insert into DemoTable values('11:30:10'); Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values('12:40:00'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('05:45:24'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('09:00:10'); Query OK, 1 row affected (0.18 sec)
แสดงข้อมูลก่อนเปลี่ยนแปลง
mysql> select *from DemoTable;
+------------+ | DelayTime | +------------+ | 11:30:10 | | 12:40:00 | | 05:45:24 | | 09:00:10 | +------------+ 4 rows in set (0.00 sec)
คิวรี่เพิ่ม 10 วินาที และแสดงในคอลัมน์ใหม่
mysql> select date_add(DelayTime,interval 10 second) AS `NewDelayTime` from DemoTable;
ผลลัพธ์:
+--------------+ | NewDelayTime | +--------------+ | 11:30:20 | | 12:40:10 | | 05:45:34 | | 09:00:20 | +--------------+ 4 rows in set (0.00 sec)
รูปแบบ INTERVAL สำหรับเวลา
INTERVAL n SECOND- วินาทีINTERVAL n MINUTE- นาทีINTERVAL n HOUR- ชั่วโมงINTERVAL 'hh:mm:ss' HOUR_SECOND- รวมชั่วโมง นาที วินาที
การอัปเดตข้อมูลจริง (UPDATE)
หากต้องการอัปเดตค่าในตารางจริง:
mysql> update DemoTable set DelayTime = date_add(DelayTime, interval 10 second);
หมายเหตุ
ชนิดข้อมูล TIME ใน MySQL เก็บค่าเวลาในช่วง '-838:59:59' ถึง '838:59:59' การบวก INTERVAL อาจทำให้เกินช่วงได้ ต้องระวังกรณีข้ามวัน