日期时间"BETWEEN AND"和"> AND <="有什么区别?

Biz*_*pps 2 sql sql-server query-optimization sql-server-2008-r2

我们团队中的每个人都有自己的方法来提取日期之间的数据,我们提供了两种常用的提取数据的方法:

  1. [DateTimeColumn] BETWEEN @StartDate和@EndDate
  2. [DateTimeColumn]> @StartDate AND [DateTimeColumn] <= @EndDate

何时在日期时间使用/差异"BETWEEN"和"> AND <=":SQL查询优化以及哪两者最好使用.

das*_*ght 9

BETWEEN运算符使用区间的包含端.每当您要排除间隔的一端或两端时,请使用特定的比较操作.

另外,BETWEEN在测试复杂表达式时很方便:例如,编写类似的东西

... AND CASE WHEN A>0 THEN open_date ELSE close_date END BETWEEN '01/01/2012' AND '05/01/2012'
Run Code Online (Sandbox Code Playgroud)

比重复CASE表达两次容易.