根据年份过滤日期

时间:2020-01-15 07:09:32

标签: sql presto

如果“日期中的年份”列为>,如果要过滤查询,那么最好的方法是什么?比如说2014年,而如果是2016年至2019年之间,则是另一种情况?

您可以正确使用以下内容吗?

where date_trunc('year',date_column) > '2014'     
where date_trunc('year', date_column) between '2016' and 2019'

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以将这些条件组合成如下所示的条件

where date_trunc('year', date_column) between '2016' and 2019'

因为> 2014表示在2016年和2019年之间。

答案 1 :(得分:0)

可以使用这些方法。但是列上的函数通常会阻碍优化器。所以我建议:

where date_column >= '2014-01-01' and
      date_column < '2015-01-01'

和:

where date_column >= '2016-01-01' and
      date_column < '2020-01-01'