MariaDB TIME_FORMAT() 函数的基础用法与实例
MariaDB TIME_FORMAT()
函数用来根据指定的格式化字符串,将时间值格式化为字符串。
MariaDB TIME_FORMAT()
函数用来根据指定的格式化字符串,将时间值格式化为字符串。它非常适合于需要以特定格式显示时间的场景,例如记录、报告或日志等。
语法
MairaDB TIME_FORMAT()
函数的语法如下:
TIME_FORMAT(time, format)
time
:要格式化的时间值,可以是一个TIME
、DATETIME
或TIMESTAMP
值。format
:定义输出格式的字符串,可以包含格式化规范码。
该函数返回一个字符串,代表按照指定格式显示的时间值。
实例
格式化时间值
本示例演示如何将一个时间值格式化为指定的字符串格式。
SELECT TIME_FORMAT('18:25:30', '%H:%i:%s') AS Time;
以下是该语句的输出:
+----------+
| Time |
+----------+
| 18:25:30 |
+----------+
本实例使用 TIME_FORMAT()
函数将字符串 '18:25:30'
格式化为 '%H:%i:%s'
格式,即按 '时:分:秒'
格式显示。
格式化日期时间值
本示例演示如何格式化一个日期时间值。
DROP TABLE IF EXISTS test;
CREATE TABLE test (created_at DATETIME);
INSERT INTO test VALUES ('2023-03-14 15:30:25'), ('2023-03-15 09:45:12');
SELECT created_at,
TIME_FORMAT(created_at, '%r') AS Time12,
TIME_FORMAT(created_at, '%T') AS Time24
FROM test;
以下是该语句的输出:
+---------------------+-------------+----------+
| created_at | Time12 | Time24 |
+---------------------+-------------+----------+
| 2023-03-14 15:30:25 | 03:30:25 PM | 15:30:25 |
| 2023-03-15 09:45:12 | 09:45:12 AM | 09:45:12 |
+---------------------+-------------+----------+
本实例先创建一个包含 DATETIME
类型字段的表,并插入两行测试数据。然后使用 TIME_FORMAT()
函数将 created_at
字段的值分别格式化为 12 小时制和 24 小时制的时间字符串。
使用精度格式化时间
本示例演示如何使用小数点后位数指定时间精度。
SELECT TIME_FORMAT('18:25:30.123456', '%H:%i:%s.%f') AS Time;
以下是该语句的输出:
+-----------------+
| Time |
+-----------------+
| 18:25:30.123456 |
+-----------------+
%f
格式规范码用于显示微秒部分,显示精度取决于输入值的精度。本例中输入值的微秒精度为 6 位,因此输出字符串也保留了 6 位微秒。
格式化时间为文本
本示例演示如何将时间值格式化为非时间文本。
SELECT TIME_FORMAT('14:25:00', '%l %p') AS Output;
以下是该语句的输出:
+--------+
| Output |
+--------+
| 2 PM |
+--------+
本示例使用了 %l
格式规范码表示小时(1-12),%p
表示 AM/PM。因此,输出 '2 PM'
表示下午 2 点。
格式化为自定义格式
本示例演示如何使用自定义字符串格式化时间值。
SET @time = '18:30:59';
SELECT TIME_FORMAT(@time, 'Time: %r Seconds: %s') AS Output;
以下是该语句的输出:
+--------------------------------+
| Output |
+--------------------------------+
| Time: 06:30:59 PM Seconds: 59 |
+--------------------------------+
自定义格式字符串可以包含任意文本和特殊的格式规范码。本例中除了使用 %r
格式化为 12 小时制的时间,还使用 %s
格式化为秒值,其余是普通文本。
相关函数
以下是几个与 MairaDB TIME_FORMAT()
相关的几个函数:
- MariaDB
DATE_FORMAT()
函数用来格式化日期值或日期时间值的日期部分。 - MariaDB
UNIX_TIMESTAMP()
函数返回一个 Unix 时间戳。 - MariaDB
FROM_UNIXTIME()
函数将 Unix 时间戳转换为日期时间字符串。 - MariaDB
STR_TO_DATE()
函数将字符串转换为日期时间格式。
结论
MariaDB TIME_FORMAT()
函数是一个非常有用的函数,可以将时间值格式化为指定的字符串格式。通过这个函数,我们可以轻松地控制时间值的显示方式,满足不同场景的需求。本文介绍了该函数的语法、示例和相关函数,希望对您有所帮助。