我试过四处寻找这个,但我找不到似乎适用于我正在使用的代码的答案。基本上,以下查询搜索当前日期的任何结果。我正在努力使它只在最后一个小时搜索。
在 oracle 中,我可以使用 sysdate-1/24 执行此操作,SQL 服务器中是否有简单的等效项?请记住,我已经在使用演员表来获取当前的系统日期。
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
Run Code Online (Sandbox Code Playgroud)
您可以使用:
getdate() - 1.0/24
Run Code Online (Sandbox Code Playgroud)
SQL Server 允许您在datetime.
更常见的方法是:
dateadd(hour, -1, getdate())
Run Code Online (Sandbox Code Playgroud)
在您的查询中,您根本不需要转换为字符串:
Select distinct m_record_server
from search_recording_file1
where tr_date_recorded >= getdate() - 1.0/24 and m_record_server is not null;
Run Code Online (Sandbox Code Playgroud)
如果您想要一小时前的日期(这似乎是代码的意图,如果不是问题的其余部分):
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;
Run Code Online (Sandbox Code Playgroud)