带有时间戳的AWS Athena SQL查询错误
我在AWS Athena中有一个表,其列名为“servertime”,数据类型为timestamp。我运行这样的查询带有时间戳的AWS Athena SQL查询错误,sql,timestamp,amazon-athena,presto,Sql,Timestamp,Amazon Athena,Presto,我在AWS Athena中有一个表,其列名为“servertime”,数据类型为timestamp。我运行这样的查询 选择* 从表\u名称 其中服务器时间介于“2018-04-01 00:00:00”和“2018-04-05 23:59:59”之间; 它给了我这个错误: 您的查询出现以下错误: 语法错误:第1:41行:“=”不能应用于时间戳,varchar(19) 我如何在雅典娜解决这个问题?从该表中获取数据非常重要。您看到的问题与您的中间条件有关。如果您将时间戳表示为varchar,那么雅典
选择*
从表\u名称
其中服务器时间介于“2018-04-01 00:00:00”和“2018-04-05 23:59:59”之间;
它给了我这个错误:
您的查询出现以下错误:
语法错误:第1:41行:“=”不能应用于时间戳,varchar(19)
我如何在雅典娜解决这个问题?从该表中获取数据非常重要。您看到的问题与您的中间条件有关。如果您将时间戳表示为varchar,那么雅典娜不会将其转换为时间戳 为此,您需要传递一个显式类型转换
select * from table_name
where servertime
between TIMESTAMP '2018-04-01 00:00:00'
and TIMESTAMP '2018-04-05 23:59:59';
还要注意的是,在Presto(以及雅典娜)中,时间戳的精度为毫秒,因此您可能希望使用时间戳'2018-04-05 23:59:59.999'
作为上限(或者只是普通的>=某一天和下一天
)。