【发布时间】:2020-02-28 14:49:51
【问题描述】:
我有一个包含 ID、DATE1、DATE2、DATE3、DATE4 列的表。我可以使用以下查询获得所需的结果:
Select ID from table
WHERE ((DATE1 >= '2020-01-01' AND DATE1 <= '2020-31-01')
OR (DATE2 >= '2020-01-01' AND DATE2 <= '2020-31-01')
OR (DATE3 >= '2020-01-01' AND DATE3 <= '2020-31-01')
OR (DATE4 >= '2020-01-01' AND DATE4 <= '2020-31-01') )
如您所见,我需要一个 ID 列表,其中至少有一个日期列(DATE1、DATE2、DATE2、DATE4)的日期为 2020 年 1 月。
我编写的查询工作得很好,但我想知道是否有更聪明的方式来编写该查询,以便我只需要提供一次日期范围?
不确定是否重要,但如果重要,我正在运行 DB2。
【问题讨论】:
-
我认为没有更好的方法来编写这个查询。
-
为什么不使用占位符?
-
用您正在使用的数据库标记您的问题。