注册

详解MySQL的TIME_FORMAT()函数:将一个时间格式化为指定的字符串

MySQL的TIME_FORMAT()函数用于将时间类型的数据以指定格式输出为字符串。它的使用方法如下:

TIME_FORMAT(time, format)

其中,time表示要进行格式化的时间数据,可以是时间类型或时间字符串;format则表示输出的格式,它应该是一个格式化字符串,其中包括类似于%c、%H等占位符。

下面给出两个具体的实例,以便更好地理解TIME_FORMAT()函数的用法:

1. 将时间以hh:mm:ss格式输出

假设有如下的一张表time_table,其中包含了多个时间的数据:

+----+----------+
| id | time     |
+----+----------+
| 1  | 16:22:41 |
| 2  | 08:48:12 |
| 3  | 02:17:36 |
+----+----------+

现在想要将这些时间格式化为hh:mm:ss的形式,并输出到页面上。可以使用如下的SQL语句:

SELECT id, TIME_FORMAT(time, '%H:%i:%s') AS formatted_time FROM time_table;

执行该语句后,会得到如下的输出结果:

+----+---------------+
| id | formatted_time|
+----+---------------+
| 1  | 16:22:41      |
| 2  | 08:48:12      |
| 3  | 02:17:37      |
+----+---------------+

由此可见,TIME_FORMAT()函数成功将原始的时间数据按照指定格式进行了格式化,并输出为字符串。

2. 将时间以AM/PM格式输出

现在,想要将时间以AM/PM格式输出,即格式为hh:mm:ss AM/PM的形式。可以使用如下的SQL语句:

SELECT id, TIME_FORMAT(time, '%h:%i:%s %p') AS formatted_time FROM time_table;

执行该语句后,会得到如下的输出结果:

+----+---------------------+
| id | formatted_time      |
+----+---------------------+
| 1  | 04:22:41 PM         |
| 2  | 08:48:12 AM         |
| 3  | 02:17:36 AM         |
+----+---------------------+

可以看到,TIME_FORMAT()函数也可以按照指定格式将时间输出为带有AM/PM的字符串。需要注意的是,这里使用了小写的%p占位符,它会被替换成小写的am或pm。如果要得到大写的AM/PM,可以使用大写的%P占位符来代替。