如何使SQL查询与AWS Athena Presto兼容
我有一个SQL查询,如下所示如何使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
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(闰年!)