在 Presto 中为日期添加小时数
Adding hours to dates in Presto
在 Presto 数据库 table 中,我有两个字符串字段,表格的日期“2022-01-01”和表格的一个小时,22,用于 22:00 .我试图将这两个元素组合成一个适当的时间戳,包括日期、小时、分钟、秒。我怎样才能做到这一点?
到目前为止我尝试了什么
SELECT DATE_ADD('hour', 22, DATE(d) ) AS dt
FROM table
但是,我得到的错误是 'hour' 不是正确的 DATE 字段。但是,从文档来看,我的论点以正确的顺序出现。
https://prestodb.io/docs/current/functions/datetime.html
您需要将日期转换为时间戳:
-- sample data
WITH dataset(x, y) AS (
VALUES (22, '2022-01-01')
)
-- query
SELECT date_add('hour', x, cast(date(y) as timestamp))
FROM dataset
或者将字符串解析为时间戳:
SELECT date_add('hour', x, date_parse(y, '%Y-%m-%d'))
FROM dataset
输出:
_col0
2022-01-01 22:00:00.000
在 Presto 数据库 table 中,我有两个字符串字段,表格的日期“2022-01-01”和表格的一个小时,22,用于 22:00 .我试图将这两个元素组合成一个适当的时间戳,包括日期、小时、分钟、秒。我怎样才能做到这一点?
到目前为止我尝试了什么
SELECT DATE_ADD('hour', 22, DATE(d) ) AS dt
FROM table
但是,我得到的错误是 'hour' 不是正确的 DATE 字段。但是,从文档来看,我的论点以正确的顺序出现。 https://prestodb.io/docs/current/functions/datetime.html
您需要将日期转换为时间戳:
-- sample data
WITH dataset(x, y) AS (
VALUES (22, '2022-01-01')
)
-- query
SELECT date_add('hour', x, cast(date(y) as timestamp))
FROM dataset
或者将字符串解析为时间戳:
SELECT date_add('hour', x, date_parse(y, '%Y-%m-%d'))
FROM dataset
输出:
_col0 |
---|
2022-01-01 22:00:00.000 |