首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

时间判断的有关问题

2012-03-19 
时间判断的问题不知道那个人设计的这个表,真想扁他数据库中有一个记录表记录表中的年,月,日,时,分,秒分开

时间判断的问题
不知道那个人设计的这个表,真想扁他

数据库中有一个记录表
记录表中的年,月,日,时,分,秒分开存储

现在要用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 @DateTime=@year+'-'+@month+'-'+@day+' '+@hour+':'+@minute+':'+@second    if datediff(hour,convert(smalldatetime,@DateTime),getdate())>@DiffTime    begin        print 'true'    end    else    begin        print 'false'    endend
[解决办法]
方法告诉你了,建议你自己稍做修改即可,如果你还要考虑秒或毫秒的话.

热点排行