本文介绍流引擎内建函数中的日期函数。

STRINGTOTIMESTAMP

按照指定日期格式解析字符串并返回毫秒级Unix时间戳。

语法

STRINGTOTIMESTAMP(timeStringCol, format)
说明 timeStringCol或者format的值为NULL时,调用STRINGTOTIMESTAMP函数返回NULL。

参数

参数 是否必填 说明
timeStringCol STRING类型,需要转换为时间戳的字符串。
format 指定的日期格式。例如:yyyy-MM-dd HH:mm:ss。日期格式中至少包含yyyy,否则会返回NULL。如果format中出现多余的格式串,则只取第一个格式串对应的日期数值,其余的会被视为分隔符。例如STRINGTOTIMESTAMP("1234-2234", "yyyy-yyyy")会返回1234-01-01 00:00:00。有关日期格式的字母和含义请参见日期格式

示例

SELECT orderTimeString, STRINGTOTIMESTAMP(order_time, 'yyyy-MM-dd HH:mm:ss') AS order_timestamp FROM orders;
返回结果如下:
+---------------------+-----------------+
| orderTimeString     | order_timestamp |
+---------------------+-----------------+
| 2022-09-01 12:12:10 | 1662005530000   |

TIMESTAMPTOSTRING

将BIGINT类型的Unix时间戳按指定的日期格式转换为STRING类型。

语法

TIMESTAMPTOSTRING(timeCol, format)
说明
  • timeCol的值为NULL时,调用TIMESTAMPTOSTRING函数会报错。
  • format的值为NULL时,调用TIMESTAMPTOSTRING函数返回NULL。

参数

参数 是否必填 说明
timeCol 需要转换为STRING类型的时间戳。
format 指定的日期格式。例如:yyyy-MM-dd HH:mm:ss。有关日期格式的字母和含义请参见日期格式

示例

SELECT order_timestamp, TIMESTAMPTOSTRING(orderTime, 'yyyy-MM-dd HH:mm:ss') AS order_time FROM orders;
返回结果如下:
+-----------------+---------------------+
| order_timestamp |      order_time     |
+-----------------+---------------------+
| 1662005530000   | 2022-09-01 12:12:10 |

日期格式

日期格式format中的字母和含义如下:
字母 含义
yy 两位年份。
yyyy 四位年份。
MM 月份。
dd 月份中的第几天。
D 年份中的第几天。
E 星期几。
HH 小时(24小时制)。
hh 小时(12小时制)。
mm 分钟。
ss 秒。
SSS 毫秒。