我需要在presto中构建一个查询,该查询可以追溯后面的70天,我正在使用的表以"YYYYMMDD"的格式存储日期。
在postgresql中,我可以简单地将where子句写成
where date >= to_char(current_date - 70, 'YYYYMMDD')
它会以YYYYMMDD格式输入70天前的日期。
然而,在PrestoSQL中,该函数似乎并不存在,有替代方案吗?
您可以使用date_format()
:执行此操作
where date >= date_format(current_date - interval '70' day, '%Y%m%d')
请注意,将日期存储为字符串根本不是一种好的做法——您应该使用正确的类似date
的数据类型——然后根本不需要进行转换。
您只需要使用日期算术:
where date >= current_date - interval '70' day
我不知道你为什么要在严格与日期相关的比较中使用字符串。