本文介绍流引擎内建函数中的日期函数。
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 | 毫秒。 |