日期:2014-05-18 浏览次数:20693 次
select * from tb where ltrim(年)+'-'+ltrim(月)+'-'+ltrim(日)+' '+ltrim(时)+':00:00' between dateadd(hh,-4,getdate()) and getdate()
------解决方案--------------------
lz淡定。。
别人那样设计数据库肯定有他的想法。。
或许是为了以后的某些功能才那样设计的。。
先别想这个。。
lz试试这个方法。是否满意。。
-- =============================================
-- Author: <chenlong>
-- Create date: <2011-12-30 11:15:20>
-- Description: <判断传入年月日时分秒与当前时间是否相差n小时>
-- =============================================
create proc PROC_TestDateTime
(@year varchar(4),@month varchar(2),@day varchar(2),@hour varchar(2),@minute varchar(2),@second varchar(2))
as
begin
declare @DiffTime int
set @DiffTime=4
declare @DateTime varchar(20)
set @DateTime=@year+'-'+@month+'-'+@day+' '+@hour+':'+@minute+':'+@second
if datediff(hour,convert(smalldatetime,@DateTime),getdate())>@DiffTime
begin
print 'true'
end
else
begin
print 'false'
end
end
------解决方案--------------------
方法告诉你了,建议你自己稍做修改即可,如果你还要考虑秒或毫秒的话.