我表中字段:时间类型 '2011-09-21 10:17:39.993' 带有毫秒的,由于我有个表中写了触发器,做更新操作时,会同时插入两个表,一个OLD(保存改之前内容),一个NEW(修改后内容), 这两表时间字典 有时有几毫秒的差距的,我要比较如 '2011-09-21 10:17:39.993' 和 '2011-09-21 10:17:40.005'是同一个时间。也就是在时间上 加100毫秒 '2011-09-21 10:17:39.993' + 100毫秒 我比较取 2011-09-21 10:17:40 到秒就可以得到了, 该怎么转换才好写这个条件啊。 是写把他转换成 数值型再加减100比较 还是怎么弄啊
------解决方案--------------------
你可以参考如下:
- SQL code
declare @dt as datetimeset @dt = '2011-09-21 10:17:39.993'select dateadd(ms,100,@dt)/* ------------------------------------------------------ 2011-09-21 10:17:40.093(所影响的行数为 1 行)*/select convert(varchar(19),dateadd(ms,100,@dt),120)/* ------------------- 2011-09-21 10:17:40(所影响的行数为 1 行)*/
------解决方案--------------------
- SQL code
declare @t1 datetimeset @t1='2011-09-21 10:17:39.993'declare @t2 datetimeset @t2='2011-09-21 10:17:40.001' --10:17:40.000 或 10:17:40.001select datediff(ms,@t1,@t2)/*6*/[email protected]:17:40.000 或 10:17:40.001时,结果都为6,原因大乌龟已经说过了。