我有一个存储过程,用于向表'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
答案 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