【发布时间】:2019-11-27 18:19:44
【问题描述】:
我正在尝试将时间戳的时间为上午 05:59:59 或以下的所有数据行转换为上一个日期。例如,“2018-12-08 05:05:00”将是“2018-12-07”,“2018-11-06 03:02:00”将是“2018-11-05”。
时间戳采用 'YYYY-MM-DD HH:MM:SS' 格式并存储为 varchar
到目前为止,这是我对查询的尝试:
SELECT lift.spot_datetime AS broadcastdate,
CASE when broadcastdate > to_date(>='06:00:00', 'hh:mm:ss') then to_date('MM/DD/YYYY') end as same_date,
ELSE when broadcastdate > to_date(<='05:59:59', 'hh:mm:ss') then DATE_SUB(to_date('MM/DD/YYYY' - 1) end as subtract_date
我遇到的一个问题是,我运行查询的 AWS Athena 客户端似乎无法解析“dateadd”或“datesub”函数。
“AWS Athena 客户端抛出错误。SYNTAX_ERROR: line 1:17: 列 'day' 无法解析”
我在运行上述查询时得到的当前错误如下: “AWS Athena 客户端抛出了一个错误。第 2:39 行:在输入 'to_date(>=' [Execution ID not available]] 处没有可行的替代方案”
【问题讨论】:
标签: sql presto amazon-athena