需求:
数据库中有一个字段,date类型 例如:2013-01-01 01:00:00查询出 这个日期时间前5秒的 日期时间    2013-01-01 00:59:55

解决方案 »

  1.   

    endtime = 2013-01-01 01:00:00spendTime = 5 (秒)
    select endtime - spendTime
      

  2.   

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

  3.   

    select DATEADD(second,-5,'2013-01-01 01:00:00 ')--结果:
    2013-01-01 00:59:55.000
      

  4.   

    SELECT DATEADD(ss,-5,'2013-01-01 01:00:00')
      

  5.   

    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
    */