如何在sql server 2008中将日期与GETDATE()进行比较

时间:2017-12-08 05:25:54

标签: c# sql-server sql-server-2008 stored-procedures

我有一个存储过程,用于向表'demotable'插入某种信息,因为我有一个字段loginTime,其中datatype是dateTime。 我正在使用GETDATE()来获取当前的日期时间,问题是我想比较这个GETDATE()是否低于上午9:00,然后将其作为上午9:00,如果不低则保持输出不受任何影响变化。 - 使用microsoft sql server 2008。

下面是我的示例存储过程

         //Beg Stored Procedure Contents...


            insert into dbo.demoTable([loginTime],[nStatus]) values(GETDATE(),'1')

         //End

3 个答案:

答案 0 :(得分:0)

此查询将检查当前时间是否在上午9:00之前,如果不是,它将保留调用find . -path '*/pqr/pqr.txt' 的结果。否则,它将在上午9点结束。

getdate()

答案 1 :(得分:0)

select CASE when DATEPART(HOUR, GETDATE()) < 9 THEN dateadd(hh, 9, DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)) ELSE getdate() END

这是我自己认识的解决方案,感谢@CodingYoshi提示,SQL Server 2008不支持IIF,而是我们可以使用CASE

答案 2 :(得分:0)

- 应该在2008年及以上工作

DATEPART时选择案例(小时,GETDATE())&lt; 9然后DATEADD(HOUR,9,CAST(GETDATE()日期))ELSE GetDate()END