SELECT j.JobNo, j.JobDescription
FROM Job j
JOIN Job_Nav n ON j.JobNo = n.JobNo
WHERE n.Blocked = 0
AND n.[Starting Date] < GETDATE() AND n.[Ending Date] > GETDATE()
我想要更改 AND n。[开始日期]&lt; GETDATE()和n。[结束日期]&gt; GETDATE()进入BETWEEN子句,任何人都可以告诉我如何在上面的表达式中使用在Clause 之间。 致谢
答案 0 :(得分:1)
SELECT j.JobNo, j.JobDescription
FROM Job j
JOIN Job_Nav n ON j.JobNo = n.JobNo
WHERE n.Blocked = 0
AND GETDATE() Between n.[Starting Date] AND n.[Ending Date]
答案 1 :(得分:1)
SELECT j.JobNo, j.JobDescription
FROM Job j
JOIN Job_Nav n ON j.JobNo = n.JobNo
WHERE n.Blocked = 0
AND getdate() between n.[Starting Date] AND n.[Ending Date]
答案 2 :(得分:1)
getdate() between n.[Starting Date] AND n.[Ending Date]
相当于
getdate() >= n.[Starting Date] and getdate() <= n.[Ending Date]
(请注意,它使用>=
和<=
代替>
和<
)
我假设你想使用between
来使你的代码更紧凑和可读,但你编写的代码不是这种替换的候选者。
答案 3 :(得分:1)
不确定这对您是否重要,但GETDATE()可能会返回误导性结果,因为该函数包含时间。
答案 4 :(得分:1)
你不能介于两者之间(&gt; =&lt; =)
要指定独占范围,请使用大于(&gt;)和小于 运营商(&lt;)。
如果你需要专属的东西是干净的 我认为单独的行更容易阅读
AND n.[Starting Date] < GETDATE()
AND n.[Ending Date] > GETDATE()