与 <= 和 >= 之间的区别

Difference Between Between and <= & >=

我需要在两个日期间隔之间取日期。

我试过如下两个查询

SELECT * FROM [dbo].[BudgetOffice] BUD
            where  Week      BETWEEN '2015-08-03' AND '2015-08-03'.

 SELECT * FROM [dbo].[BudgetOffice] BUD
            where  Week      >= '2015-08-03' AND Week <= '2015-08-03'.

两者 Returns 结果相同。我以为

between

将 return 只有介于输入值之间的值并排除输入值。那是对的吗?。如果两者相同,性能上哪个更可行?

考虑片段:

SELECT * FROM list_of_integers_from_1_to_100 AS table
WHERE table.number BETWEEN 2 AND 80;

此方法比 "table.number >= 2 AND table.number <= 80" 更易读。 BETWEEN 将 return 2 到 80 之间的所有值(包括两个数字),这实际上是相同的。

就性能而言,据我所知,没有重大差异。

使用 BETWEEN 可以做一些比使用运算符更简单的事情。考虑:

table.number NOT BETWEEN 2 AND 80

并且:

table.number < 2 AND table.number > 80

第一眼看哪个比较容易?我投票给第一个,但最终完全由您选择使用哪个。

此外,正如 top answer in this question 中所指出的,BETWEEN 可以帮助您避免不必要的计算。我将从该主题复制粘贴片段:

SELECT  AVG(RAND(20091225) BETWEEN 0.2 AND 0.4)
FROM    t_source;

---
0.1998

SELECT  AVG(RAND(20091225) >= 0.2 AND RAND(20091225) <= 0.4)
FROM    t_source;

---
0.3199