不知道那个人设计的这个表,真想扁他
数据库中有一个记录表
记录表中的年,月,日,时,分,秒分开存储
现在要用java实现
查询4个小时前到当前时间的记录表中的数据
如
2011-12-29 17:30:30 ~ 2011-12-29 13:30:30
另一种
2011-12-28 22:30:30 ~ 2011-12-29 2:30:30
快崩溃了,大侠救命
------解决方案--------------------
你放一起拼个日期类型
where convert(datetime,ltrim(yy)+'-'+right(100+mm,2)+'-'+right(100+dd,2)+' '
+right(100+hh,2)+':'+right(100+mi,2)+':'+right(100+ss,2))
between '2011-12-29 17:30:30' and '2011-12-29 13:30:30'
------解决方案--------------------
- SQL code
select * from tb where ltrim(年)+'-'+ltrim(月)+'-'+ltrim(日)+' '+ltrim(时)+':00:00' between dateadd(hh,-4,getdate()) and getdate()
------解决方案--------------------
lz淡定。。
别人那样设计数据库肯定有他的想法。。
或许是为了以后的某些功能才那样设计的。。
先别想这个。。
lz试试这个方法。是否满意。。
- SQL code
-- =============================================-- 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))asbegin declare @DiffTime int set @DiffTime=4 declare @DateTime varchar(20) set @[email protected][email protected][email protected]+' [email protected]+':[email protected]+':[email protected] if datediff(hour,convert(smalldatetime,@DateTime),getdate())>@DiffTime begin print 'true' end else begin print 'false' endend
------解决方案--------------------
方法告诉你了,建议你自己稍做修改即可,如果你还要考虑秒或毫秒的话.