带括号的SQL日期查询中的差异

问题描述 投票:0回答:1

我继承了多个机器学习过程,除了括号外,它们基本上使用相同的日期查询。以下3个日期查询给出不同数量的行。每个日期查询为每个日期提供不同数量的行之间的确切区别是什么?

1)

WHERE
((dbo.FACTINVOICEHEADER.PAID_DATE >= '2019-02-01'
  AND dbo.FACTINVOICEHEADER.PAID_DATE <= '2020-01-31')
OR (dbo.FACTINVOICEHEADER.PAID_DATE >= '2018-02-01'
  AND dbo.FACTINVOICEHEADER.PAID_DATE <= '2019-01-31'))

2)

WHERE
((dbo.FACTINVOICEHEADER.PAID_DATE >= '2018-02-01'
AND dbo.FACTINVOICEHEADER.PAID_DATE <='2020-01-31'))

3)

WHERE 
dbo.FACTINVOICEHEADER.PAID_DATE >= '2018-02-01'
AND dbo.FACTINVOICEHEADER.PAID_DATE <= '2020-01-31'
sql mysql-python
1个回答
0
投票

第一个查询是选择24个月减去一天(2019年1月31日)。

第二个查询正在选择24个月。

第三个查询与第二个查询等效。

© www.soinside.com 2019 - 2024. All rights reserved.