我试过四处寻找,但我找不到一个似乎与我正在使用的代码一起使用的答案。基本上,以下查询搜索当前日期的任何结果。我正试图让它只在最后一小时搜索。
在oracle中我可以使用sysdate-1/24来做到这一点,SQL服务器中有一个简单的等价物吗?请记住,我已经使用强制转换来获取当前的sysdate。
Select distinct m_record_server
from search_recording_file1
where tr_date_recorded >= cast(convert(varchar(10), getdate(), 110) as datetime)
and m_record_server is not null
答案 0 :(得分:4)
您可以使用:
getdate() - 1.0/24
SQL Server允许您在datetime
上使用此类算法。
更常见的方式是:
dateadd(hour, -1, getdate())
在您的查询中,您根本不需要转换为字符串:
Select distinct m_record_server
from search_recording_file1
where tr_date_recorded >= getdate() - 1.0/24 and m_record_server is not null;
如果你想要一小时前的 date (这似乎是代码的意图,如果不是问题的其余部分):
Select distinct m_record_server
from search_recording_file1
where tr_date_recorded >= cast(getdate() - 1.0/24 as date) and m_record_server is not null;