Разница в SQL Дата запроса с круглыми скобками - PullRequest
0 голосов
/ 18 апреля 2020

Я унаследовал несколько процессов машинного обучения, которые используют по существу один и тот же запрос даты, за исключением скобок. Следующие 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'

1 Ответ

1 голос
/ 18 апреля 2020

Первый запрос выбирает 24 месяца, минус один день (31 января 2019 г.).

Второй запрос выбирает 24 месяца.

Третий запрос эквивалентен второму. .

...