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

MySQL: แปลงเวลา HH:MM:SS เป็น HH:MM ด้วย TIME_FORMAT

การจัดรูปแบบ TIME ให้แสดงแค่ ชั่วโมง:นาที (HH:MM) ด้วย TIME_FORMAT

TIME_FORMAT(time, format) ใช้จัดรูปแบบค่า TIME/ DATETIME ให้แสดงตาม format string ที่กำหนด

สร้างตารางและข้อมูล

mysql> create table DemoTable1419 (
    -> ArrivalTime time
    -> );
Query OK, 0 rows affected (0.78 sec)

mysql> insert into DemoTable1419 values('12:30:45');
mysql> insert into DemoTable1419 values('11:00:55');
mysql> insert into DemoTable1419 values('09:59:34');

ข้อมูลต้นฉบับ

+-------------+
| ArrivalTime |
+-------------+
| 12:30:45    |
| 11:00:55    |
| 09:59:34    |
+-------------+

คำสั่ง TIME_FORMAT

mysql> select ArrivalTime, time_format(ArrivalTime, '%H:%i') from DemoTable1419;

ผลลัพธ์

+-------------+----------------------------------+
| ArrivalTime | time_format(ArrivalTime, '%H:%i') |
+-------------+----------------------------------+
| 12:30:45    | 12:30                            |
| 11:00:55    | 11:00                            |
| 09:59:34    | 09:59                            |
+-------------+----------------------------------+

Format Specifiers สำหรับ TIME

Specifierความหมายตัวอย่าง
%Hชั่วโมง 24h (00-23)12, 09
%hชั่วโมง 12h (01-12)12, 09
%Iเหมือน %h12, 09
%iนาที (00-59)30, 55
%sวินาที (00-59)45
%fไมโครวินาที (6 หลัก)123456
%pAM/PMPM
%rเวลา 12h (hh:mm:ss AM/PM)12:30:45 PM
%Tเวลา 24h (HH:MM:SS)12:30:45

รูปแบบที่นิยม

TIME_FORMAT(t, '%H:%i')       -- 12:30 (24h, ไม่มีวินาที)
TIME_FORMAT(t, '%h:%i %p')    -- 12:30 PM (12h + AM/PM)
TIME_FORMAT(t, '%T')          -- 12:30:45 (24h พร้อมวินาที)
TIME_FORMAT(t, '%r')          -- 12:30:45 PM (12h พร้อมวินาที AM/PM)

DATE_FORMAT กับ TIME (ทำงานได้เหมือนกัน)

SELECT DATE_FORMAT(ArrivalTime, '%H:%i') FROM DemoTable1419;

DATE_FORMAT รับทั้ง DATE, DATETIME, TIME — ใช้ได้กว้างกว่า

ข้อควรระวัง

  • คืนค่า STRING (VARCHAR) ไม่ใช่ TIME type
  • ใช้สำหรับแสดงผล (display) ไม่ควรใช้ใน WHERE/ORDER BY/JOIN
  • หากต้องการคำนวณเวลา ใช้ค่าต้นฉบับ (TIME type) คำนวณเสร็จค่อย FORMAT