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

ลบวินาทีจากคอลัมน์ Time ใน MySQL ด้วย TIME_FORMAT

การจัดรูปแบบ Time ให้ไม่แสดงวินาทีด้วย TIME_FORMAT

ใช้ฟังก์ชัน TIME_FORMAT() กำหนดรูปแบบ %H:%i (ชั่วโมง:นาที) เพื่อซ่อนวินาที

ไวยากรณ์

SELECT TIME_FORMAT(yourTimeColumn, '%H:%i') AS formatted_time FROM yourTableName;

ตัวอย่างการใช้งาน

สร้างตาราง:

CREATE TABLE removeSecondsFromTime (
    Id INT NOT NULL AUTO_INCREMENT,
    StartTime TIME,
    EndTime TIME,
    PRIMARY KEY(Id)
);

เพิ่มข้อมูล:

INSERT INTO removeSecondsFromTime(StartTime, EndTime) VALUES('10:20:45', '11:21:40');
INSERT INTO removeSecondsFromTime(StartTime, EndTime) VALUES('12:30:55', '13:20:21');
INSERT INTO removeSecondsFromTime(StartTime, EndTime) VALUES('14:40:57', '15:55:02');

แสดงผลไม่รวมวินาที:

SELECT TIME_FORMAT(StartTime, '%H:%i') AS StartingTime,
       TIME_FORMAT(EndTime, '%H:%i') AS EndingTime
FROM removeSecondsFromTime;

ผลลัพธ์:

+--------------+------------+
| StartingTime | EndingTime |
+--------------+------------+
| 10:20        | 11:21      |
| 12:30        | 13:20      |
| 14:40        | 15:55      |
+--------------+------------+

รูปแบบ Time Format Specifiers

Formatความหมายตัวอย่าง
%Hชั่วโมง (00-23)10, 14, 23
%h / %Iชั่วโมง (01-12)10, 02, 11
%iนาที (00-59)20, 30, 59
%s / %Sวินาที (00-59)45, 55, 02
%pAM/PMAM, PM
%Tเวลา 24 ชม. (%H:%i:%s)10:20:45
%rเวลา 12 ชม. (%h:%i:%s %p)10:20:45 AM

รูปแบบทั่วไป

-- 24 ชม. ไม่มีวินาที: 14:30
TIME_FORMAT(time_col, '%H:%i')

-- 12 ชม. พร้อม AM/PM: 02:30 PM
TIME_FORMAT(time_col, '%h:%i %p')

-- เฉพาะชั่วโมง: 14
TIME_FORMAT(time_col, '%H')

-- รวมไมโครวินาที (MySQL 5.6.4+): 14:30:45.123456
TIME_FORMAT(time_col, '%H:%i:%s.%f')

หมายเหตุ

  • TIME_FORMAT คืนค่าเป็น VARCHAR (String) ไม่ใช่ TIME type
  • หากต้องการคำนวณต่อ ให้ใช้คอลัมน์ต้นฉบับ (TIME type)
  • สำหรับ DATETIME ใช้ DATE_FORMAT แทน