如何使SQL查询与AWS Athena Presto兼容

如何使SQL查询与AWS Athena Presto兼容,sql,amazon-web-services,amazon-athena,Sql,Amazon Web Services,Amazon Athena,我有一个SQL查询,如下所示 EXTRACT(EPOCH FROM (i.intime-p.dob)::INTERVAL)/86400 as age 它首先减去两个时间戳i.intime-p.dob,然后应用extract,epoch,interval,然后除以86400,将其计算为age 应注意,p.dob列采用2138-07-17格式,i.intime采用2138-07-17 21:20:07格式 我在AWS Athena中使用了以下修改过的查询,但我不确定它是否与原始的提取(EPOCH

我有一个SQL查询,如下所示

EXTRACT(EPOCH FROM (i.intime-p.dob)::INTERVAL)/86400 as age
它首先减去两个时间戳
i.intime-p.dob
,然后应用
extract
epoch
interval
,然后除以
86400
,将其计算为
age

应注意,
p.dob
列采用
2138-07-17
格式,
i.intime
采用
2138-07-17 21:20:07
格式

我在AWS Athena中使用了以下修改过的查询,但我不确定它是否与原始的
提取(EPOCH FROM(I.intime-p.dob)::INTERVAL)/86400 as age
执行相同的功能

我修改的AWS Athena查询正在进行中

date_diff('second',  p.dob, i.intime) as age
有人能确认两个查询(原始查询和修改后的AWS athena查询)是否生成了相同的
年龄值

我不这么认为,他们产生了相同的价值观


我的目标是使用AWS athena复制简单的
提取结果(EPOCH FROM(i.intime-p.dob)::INTERVAL)/86400作为年龄

您似乎希望确定两个日期之间的天数

您可以简单地使用:

选择日期差异('day',p.dob,i.intime)
这里有一个测试:

选择日期(“日期”,演员表(“2019-01-01”为日期),演员表(“2020-01-01”为日期))
结果:365
选择日期(“日期”,演员表(“2020-01-01”为日期),演员表(“2021-01-01”为日期))
结果:366(闰年!)