Sql 试图在下班后使用date diff获取销售收据

Sql 试图在下班后使用date diff获取销售收据,sql,time,datediff,Sql,Time,Datediff,我使用的SQL是由第三方连接到数据库提供的(我知道这很混乱),因此有些功能无法使用“完整”SQL。不管怎样,以下是我要做的: select ,s.receiptnumber as ReceiptNumber ,s.salesdatetime as Date ,'Sales Outside of Hours' as Type from vwsalesreceiptwithdetails s where s.isarchived='false'

我使用的SQL是由第三方连接到数据库提供的(我知道这很混乱),因此有些功能无法使用“完整”SQL。不管怎样,以下是我要做的:

select     
    ,s.receiptnumber as ReceiptNumber
    ,s.salesdatetime as Date
    ,'Sales Outside of Hours' as Type 
    from vwsalesreceiptwithdetails s
     where  s.isarchived='false' 

     and GetDate() and (datepart(hh,s.SalesdateTime) >=22 OR  datepart(hh,s.SalesdateTime)<7)
选择
,s.receiptnumber作为receiptnumber
,s.salesdatetime作为日期
,“营业时间以外的销售”作为类型
来自vwsalesreceiptwithdetails
s.isarchived='false'
和GetDate()和(datepart(hh,s.SalesdateTime)>=22或datepart(hh,s.SalesdateTime)=22或datepart(hh,s.SalesdateTime)尝试以下方法:

WHERE (CAST(s.SalesDateTime AS TIME) NOT BETWEEN '06:55' AND '22:05')

这很有效!非常感谢!我觉得自己是个不知道的傻瓜!@JoshFisher2020:如果这个答案正确地回答了你的问题,那么点击复选标记。
WHERE (CAST(s.SalesDateTime AS TIME) NOT BETWEEN '06:55' AND '22:05')