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占位符来代替。