Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


TIME_FORMAT

📄字数 835
👁️阅读量 加载中...

功能描述

根据格式字符串格式化时间值。和 DATE_FORMAT() 函数类似,但仅包含小时、分钟、秒和微秒的格式说明符是有效的,其他格式说明符直接返回 0 或者根据年、月和日均为 0 来计算,返回计算后的结果。

提示

  • 该函数不支持 DATEDATETIMEDATETIME WITH TIME ZONE 日期类型格式的字符串。支持 DATEDATETIMEDATETIME WITH TIME ZONE 类型的函数请参考 DATE_FORMAT()

语法格式

sql
TIME_FORMAT(expr1, expr2)

输入参数

  • expr1:时间,TIMETIME WITH TIME ZONE 类型,或能隐式转换为 TIMETIME WITH TIME ZONE 类型的其他类型。
  • expr2:格式串,VARCHAR 类型,如 %H:%i:%s

格式串说明

格式符的详细说明,请参考 DATE_FORMAT() 函数。

提示

  • 对于 %a%b%c%D 等和日期相关的格式说明符,建议使用 DATE_FORMAT() 函数来格式化包含日期和时间的值。
  • NULL 无具体的类型,当第一个参数为 NULL 时,会产生异常 E10100 候选函数出现多义性,需要手动为参数指定具体的形参类型,如:TIME_FORMAT(NULL::TIME, NULL)
  • 不支持修改显示日期和月份名称及其缩写的语言,默认为英文名称。
  • 由于 TIME 类型只能精确到毫秒,所以使用 %f 格式化 TIME 类型的值,只能精确到毫秒。

输出结果

返回 VARCHAR 类型,任意输入参数为 NULL 时,输出结果为 NULL

示例

sql
-- 格式化时间值,返回格式化的结果
SQL> SELECT TIME_FORMAT('14:02:03.123456','%h:%i:%s %p');

+-------------+
|    EXPR1    |
+-------------+
| 02:02:03 PM |
+-------------+

-- 格式化时间值,返回格式化的结果
SQL> SELECT TIME_FORMAT('22:23:01.123', '%H:%i:%S.%f');

+-----------------+
|      EXPR1      |
+-----------------+
| 22:23:01.123000 |
+-----------------+

-- 格式化时间值,返回格式化的结果
SQL> SELECT TIME_FORMAT('22:23:00', '%T'), TIME_FORMAT('22:23:00', '%r');

+----------+-------------+
|  EXPR1   |    EXPR2    |
+----------+-------------+
| 22:23:00 | 10:23:00 PM |
+----------+-------------+