日期:2014-05-17  浏览次数:20615 次

日期判断的小问题?
很久不用sqlserver了,也没时间装sqlserver,请大家帮我看一个问题:

zbb表结构:
id  name   thedate
1   李珊   2012-11-11
2   张思   2012-11-12
这是个值班表的设计,每天只有一条,每天根据日期来判断显示这个人的名字。
sql:select * from zbb where thedate='"&date()&"' --是asp代码哈
通过上面sql判断会在每天的凌晨切换到第二天值班表的显示。

现在客户要求每天的早上8点才显示第二天的,8点前的算前一天的,sql怎么写
------最佳解决方案--------------------
引用:
datename(minute,GETDATE())<480这样?我没法测试

case when datename(HOUR,GETDATE())<=8 and datename(minute,GETDATE())<30 then CONVERT(varchar(10),getdate()-1,23) else CONVERT(varchar(10),getdate(),23) end
------其他解决方案--------------------
select * from zbb where thedate=(case when datename(HOUR,GETDATE())<8 then CONVERT(varchar(10),getdate()-1,23) else CONVERT(varchar(10),getdate(),23) end)
------其他解决方案--------------------
引用:
select * from zbb where thedate=(case when datename(HOUR,GETDATE())<8 then CONVERT(varchar(10),getdate()-1,23) else CONVERT(varchar(10),getdate(),23) end)

谢谢先,如果是8点30,怎么写?8.5吗?
------其他解决方案--------------------
datename(minute,GETDATE())<480这样?我没法测试