我必须每年选择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'