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

关于时间的处理


需求:
数据库中有一个字段,date类型 例如:2013-01-01 01:00:00

查询出 这个日期时间前5秒的 日期时间    2013-01-01 00:59:55

------解决方案--------------------
SELECT DATEADD(ss,-5,'2013-01-01 01:00:00')
/*
-----------------------
2013-01-01 00:59:55.000
*/

------解决方案--------------------


declare @endtime datetime
declare @spendTime int

--日期类型要加上引号
set @endtime = '2013-01-01 01:00:00'

set @spendTime = 5

/*
--这么减不是减掉5秒,而是减掉5天
select @endtime - @spendTime
/*
2012-12-27 01:00:00.000
*/
*/

--应该这样,由于是减,所以加了一个负号
select dateadd(second,-@spendTime,@endtime)
/*
2013-01-01 00:59:55.000
*/