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

MySQL: ลบวินาทีจากคอลัมน์ DATETIME ทั้งหมด (INTERVAL)

การลบวินาทีด้วย INTERVAL

ใช้ datetime_col - INTERVAL n SECOND ลบวินาทีจากคอลัมน์ DATETIME ทุกแถว

ตัวอย่าง

mysql> create table DemoTable833(ArrivalTime datetime);
Query OK, 0 rows affected (0.79 sec)
mysql> insert into DemoTable833 values('2019-01-10 12:40:50');
mysql> insert into DemoTable833 values('2019-02-16 11:10:30');
mysql> insert into DemoTable833 values('2018-03-17 10:00:10');

คำสั่ง SELECT (ลบ 10 วินาที)

mysql> select ArrivalTime - INTERVAL 10 SECOND from DemoTable833;

ผลลัพธ์:

+--------------------------------+
| ArrivalTime - INTERVAL 10 SECOND |
+--------------------------------+
| 2019-01-10 12:40:40            |
| 2019-02-16 11:10:20            |
| 2018-03-17 10:00:00            |
+--------------------------------+

คำสั่ง UPDATE (เปลี่ยนข้อมูลจริง)

UPDATE DemoTable833 SET ArrivalTime = ArrivalTime - INTERVAL 10 SECOND;

หน่วยเวลาที่ใช้ได้

หน่วยตัวอย่าง
SECONDINTERVAL 30 SECOND
MINUTEINTERVAL 5 MINUTE
HOURINTERVAL 2 HOUR
DAYINTERVAL 1 DAY
MONTHINTERVAL 1 MONTH
YEARINTERVAL 1 YEAR

ฟังก์ชันทางเลือก: DATE_SUB()

SELECT DATE_SUB(ArrivalTime, INTERVAL 10 SECOND) FROM DemoTable833;
UPDATE DemoTable833 SET ArrivalTime = DATE_SUB(ArrivalTime, INTERVAL 10 SECOND);

สรุป

ใช้ datetime_col - INTERVAL n SECOND หรือ DATE_SUB(datetime_col, INTERVAL n SECOND) ลบเวลาจากคอลัมน์ DATETIME