根据年份过滤日期

Filtering for date based on year

如果日期列中的年份是 > 假设是 2014 年,如果是 2016 年到 2019 年之间的另一种情况,我想过滤查询的最佳方法是什么?

你能正确使用下面这样的东西吗

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

谢谢。

您可以将这些条件组合成一个,如下所示

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

因为 > 2014 意味着在 2016 年和 2019 年范围内。

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

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

和:

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