如何在子句和GETDATE函数之间使用SQL 选择j.JobNo,j.JobDescription 来自Job j 在j.JobNo=n.JobNo上加入作业 其中n.阻塞=0 和n.[开始日期]GETDATE()

如何在子句和GETDATE函数之间使用SQL 选择j.JobNo,j.JobDescription 来自Job j 在j.JobNo=n.JobNo上加入作业 其中n.阻塞=0 和n.[开始日期]GETDATE(),sql,sql-server,tsql,Sql,Sql Server,Tsql,我想将和n.[开始日期]GETDATE()改为BETWEEN子句,有人能告诉我如何使用BETWEEN子句来表示上述表达式吗。 谢谢选择j.JobNo,j.JobDescription 来自Job j 在j.JobNo=n.JobNo上加入作业 其中n.阻塞=0 在n.[开始日期]和n.[结束日期]之间设置GETDATE()选择j.JobNo,j.JobDescription SELECT j.JobNo, j.JobDescription FROM Job j JOIN Job_Nav n

我想将和n.[开始日期]GETDATE()改为BETWEEN子句,有人能告诉我如何使用BETWEEN子句来表示上述表达式吗。
谢谢

选择j.JobNo,j.JobDescription
来自Job j
在j.JobNo=n.JobNo上加入作业 其中n.阻塞=0
在n.[开始日期]和n.[结束日期]之间设置GETDATE()
选择j.JobNo,j.JobDescription
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()    
来自Job j
在j.JobNo=n.JobNo上加入作业 其中n.阻塞=0 和GETDATE()介于n[开始日期]和n[结束日期]
GETDATE()介于n[开始日期]和n[结束日期]

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()    
相当于

getdate()>=n.[开始日期]和getdate()=
getdate(),介于n.[开始日期]和n.[结束日期]

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()    
相当于


getdate()>=n.[start Date]和getdate()=
不确定这对您是否重要,但getdate()可能会返回误导性结果,因为函数包含时间。

不确定这对您是否重要,但getdate()可能会返回误导性结果,因为函数包含时间。

您不能在包含(>=)和小于之间返回 运算符(GETDATE()
不能在包含(>=)和小于 运算符(GETDATE()
和GetDate()介于n[开始日期]和n[结束日期]之间
您不能。之间的
使用包含的端点进行操作。您使用
进行的比较使
开始日期
结束日期
成为独占端点。无法更改
之间的行为。顺便说一句,您应该知道
GETDATE()包含一个时间组件,如果列包含日期值,您可能需要考虑。@ Sohail May,我问为什么?它工作得很好,不是吗?通过这个来理解在n(开始日期)和n [结束日期]之间应该使用哪个代码符<代码>和GETDATE()。
您不能。
之间的
使用包含的端点进行操作。您使用
进行的比较使
开始日期
结束日期
成为独占端点。无法更改
之间的行为。顺便说一句,您应该知道
GETDATE()包含一个时间成分,如果列包含日期值,你可能需要考虑。@ Sohail May,我问为什么?它工作得很好,不是吗?通过这个来理解你应该使用哪一个操作符,你是对的,我不能在这之间使用,并且非常感谢这样的建议。是的,你是对的,我不能在两者之间使用,并且多谢。对于这样的建议。