Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在sql server 2008中将日期与GETDATE()进行比较_C#_Sql Server_Sql Server 2008_Stored Procedures - Fatal编程技术网

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

C# 如何在sql server 2008中将日期与GETDATE()进行比较,c#,sql-server,sql-server-2008,stored-procedures,C#,Sql Server,Sql Server 2008,Stored Procedures,我有一个存储过程,用于将某种信息插入表“Demostable”,因为我有一个字段loginTime,其中数据类型是dateTime。 我使用GETDATE()获取当前日期时间,问题是我想比较这个GETDATE()是否低于上午9:00,然后将其设置为上午9:00,如果不低于9:00,则保持输出不变,不做任何更改-使用MicrosoftSQLServer2008 下面是我的示例存储过程 //Beg Stored Procedure Contents...

我有一个存储过程,用于将某种信息插入表“Demostable”,因为我有一个字段loginTime,其中数据类型是dateTime。 我使用GETDATE()获取当前日期时间,问题是我想比较这个GETDATE()是否低于上午9:00,然后将其设置为上午9:00,如果不低于9:00,则保持输出不变,不做任何更改-使用MicrosoftSQLServer2008

下面是我的示例存储过程

         //Beg Stored Procedure Contents...


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

         //End

此查询将检查当前时间是否在上午9:00之前,如果不是,它将保留调用
getdate()
的结果。否则就定在上午9点

select iif(DATEPART(HOUR, GETDATE()) < 9, 
           dateadd(hh, 9,  DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)),
           getdate())
选择iif(DATEPART(HOUR,GETDATE())<9,
dateadd(hh,9,dateadd(day,DATEDIFF(day,0,GETDATE()),0)),
getdate())

选择DATEPART(HOUR,GETDATE())小于9时的大小写,然后选择dateadd(hh,9,dateadd(day,DATEDIFF(day,0,GETDATE()),0))或GETDATE()结束时的大小写

这就是我自己提出的解决方案,感谢@CodingYoshi提供的提示,SQL Server 2008不支持IIF,相反,我们可以在2008及更高版本上使用用例


选择DATEPART(HOUR,GETDATE())小于9时的CASE,然后选择DATEADD(HOUR,9,CAST(GETDATE()AS DATE)),否则GETDATE()END

谷歌是你的朋友。搜索如何执行日期比较非常容易。很明显,由于缺少显示的代码,您只希望有人来为您编写程序,而这不是堆栈溢出的目的。您正在插入数据库,因此在c#中,在存储到数据库之前使用DataTime方法进行转换。您的代码不是存储过程。我希望保持时间为上午9:00或以上,如果低于9:00,则将其设置为上午9:00,这是什么
选择iff
-im使用sql server 2008,并且它支持IIF?是的,这就是它将要做的。我的答案有点错。如果不是,我应该写,但如果是,我就写。