如何在presto中使用日期范围



我必须每年选择DS(日期时间戳(。

示例:

SELECT  
id_product, 
code,
substr(ds_date, 1,10) as date,
product_type,
from Table A
where 1=1
AND ds <='2019-12-31'
AND (ds_date BETWEEN '2017-01-01' AND '2019-12-31')
groupby 1,2,3,4

在presto中声明DS范围是正确的方法吗?

如果ds_date是形式为yyyy-MM-dd...的varchar,则这是可读的:

substr(ds_date, 1, 4) BETWEEN '2017' AND '2019' -- inclusive: 2017, 2018, 2019

然而,这防止了ds_date上的谓词下推到数据源中,因此这可能更具性能:

ds_date >= '2017' AND ds_date < '2020'

相关内容

  • 没有找到相关文章

最新更新