如何截断sql Server 2008r2中的sysdate[Getdata()]函数?
甲骨文:如何截断sql Server 2008r2中的sysdate[Getdata()]函数?,sql,sql-server,oracle,sql-server-2008-r2,Sql,Sql Server,Oracle,Sql Server 2008 R2,甲骨文: trunc(wc.StartTime)=trunc(sysdate) 如何在SQLServer2008中为上述内容编写等效代码?您可以使用Convert函数 例: 还是你的情况 select CONVERT(date, getdate()) 如果你能解释一下你想要达到的目标,那会很有帮助。并非每个SQL专家都熟悉Oracle dbms。数据输入和所需输出的示例将有助于您了解CONVERT不符合ANSI标准,而CAST则是。因此,如果ANSI合规性很重要,请使用和CAST(wc.S
trunc(wc.StartTime)=trunc(sysdate)
如何在SQLServer2008中为上述内容编写等效代码?您可以使用
Convert
函数
例:
还是你的情况
select CONVERT(date, getdate())
如果你能解释一下你想要达到的目标,那会很有帮助。并非每个SQL专家都熟悉Oracle dbms。数据输入和所需输出的示例将有助于您了解CONVERT不符合ANSI标准,而CAST则是。因此,如果ANSI合规性很重要,请使用
和CAST(wc.StartTime AS date)=CAST(GETDATE()AS date)
。这是一个浮点值,因此我毫不怀疑这是一个问题。但谢谢你提醒我,这都是关于到其他平台的可移植性。CONVERT不能在所有dbms上工作。幸运的是,我们在SQL Server组中找到了这个问题。@PeterElzinga:GETDATE()
也不符合ANSI标准,所以无论是使用CONVERT()
还是cast()
。符合ANSI SQL的条件是和cast(startTime as DATE)=当前日期
select CONVERT(date, getdate())
select j.Jobname, rg.Region, wc.Status
from Job j,
Region rg,
Weekend_Check_Detail wc
where j.Row_id = wc.Job_ID
and Region_ID = rg.Row_id
and CONVERT(date, wc.StartTime) = CONVERT(date, getdate())
order by rg.Region