Har*_*wal 7 presto amazon-athena
我想将字符串的数据类型(例如:'2018-03-27T00:20:00.855556Z')转换为时间戳(例如:'2018-03-27 00:20:00')。
实际上我在 Athena 中执行查询:
select * from tb_name where elb_status_code like '5%%' AND
date between DATE_ADD('hour',-2,NOW()) AND NOW();
Run Code Online (Sandbox Code Playgroud)
但我有错误:
SYNTAX_ERROR:第 1:100 行:无法检查 varchar 是否为带时区的时间戳和带时区的时间戳
此查询针对“vf_aws_metrices”数据库运行,除非查询限定。请在我们的论坛上发布错误消息或使用查询 ID 联系客户支持:6b4ae2e1-f890-4b73-85ea-12a650d69278。
原因:因为字符串格式的日期必须转换为时间戳。但我不知道如何转换它。
kok*_*ing 15
尝试使用from_iso8601_timestamp. 请访问以下地址以了解有关时间戳相关功能的更多信息:https : //docs.starburstdata.com/latest/functions/datetime.html
presto:tiny> select from_iso8601_timestamp('2018-03-27T00:20:00.855556Z');
_col0
-----------------------------
2018-03-27 00:20:00.855 UTC
(1 row)
Run Code Online (Sandbox Code Playgroud)
我相信你的查询应该是这样的:
select * from tb_name where elb_status_code like '5%%' AND
from_iso8601_timestamp(date) between DATE_ADD('hour',-2,NOW()) AND NOW();
Run Code Online (Sandbox Code Playgroud)
Dhe*_*raj 11
我使用了以下方法,它对我有用。
date_parse(eta,'%Y-%m-%d %h:%i:%s')
Run Code Online (Sandbox Code Playgroud)
请阅读下面的文档以获取详细的输出
我做了:
\n选择 parse_datetime(\'2020-12-20 16:05:33\',\'yyyy-MM-dd H:m:s\') 作为 dta;
\nparse_datetime(string, format) \xe2\x86\x92 带时区的时间戳
\n也可以看看:
\nhttps://prestodb.io/docs/current/functions/datetime.html#java-date-functions
\nhttps://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html
\n| 归档时间: |
|
| 查看次数: |
34301 次 |
| 最近记录: |