在日期函数之间使用的变量

时间:2014-09-09 20:03:43

标签: sql sql-server

这应该是一个非常简单的问题。我从来没有在where子句中看到过使用之前的一个使用的语句,所以我需要知道这段代码是如何工作的:

declare @end date
set @end = '2014-08-31'
select * from table1 where @end between StartDate and StopDate

我习惯看到:

select * from table1 where StartDate >= @end and StopDate <= @end

两者之间有什么不同?

1 个答案:

答案 0 :(得分:0)

我相信BETWEEN的功能相同。这更像是一种偏好。请参阅&#34;结果值&#34; MSDN中的部分。

正如评论所指出的,OP有两种不匹配的场景。也许使用BETWEEN可以帮助您避免编写错误的逻辑。写起来比较容易:BETWEEN 1 AND 10并明确你的意图。