@a = "2009-04-14 12:10:00.000"
@b = "1900-01-01 00:10:00.000"datediff(mi,@a,@b)执行后就是分钟数了,如何才能是一个时间的日期型呢?
高手支招~

解决方案 »

  1.   

    把当前日期转换成字符格式:   
    select   to_char(sysdate,'yyyymmdd')   from   dual;   
    把当前字符格式转换成日期格式:   
    select   to_date(20040815,'yyyymmdd')     from   dual;  
    //-----------------------------------------------------
    select   to_date('yyyy-mm-dd','2004-08-15')   from   dual;   
        
    select   to_char('yyyy-mm-dd',sysdate)   from   dual;//------------------------------------------------------------
    时间函数:   
    sysdate   
    to_char(sysdate)   
    to_char(to_char(sysdate,'yyyymmdd'))   
    select   to_char(sysdate,'hh:mi:ss')     from   dual;   
    从当前日期提取月份:   
    select   extract(month   from   sysdate)   from   dual;   
    取某月份最后一天:   
    select   last_day(add_months(sysdate,6))   from   dual; 
      

  2.   

    这个得用 TimeSpan 对象,
    TimeSpan 相减后再转成日期对象。或者 你用@a 日期对象 减去 10分中, 生成一个新的日期对象,就可以了。就是减去相差的值。
      

  3.   

    C# 实现的思路。
    从数据库里查出 时间 a, 时间 b, 和 a 和 b 的分差。程序里。 
      DateTime A ;
     A = A.AddMinutes(-10);
      

  4.   


    declare @t1 datetime, @t2 datetime
    set @t1='2009-04-14 12:10:00.000'
    set @t2='1900-01-01 00:10:00.000'
    print @t1
    print @t2print dateadd(minute,-DATEPART ( minute , @t2 ),@t1)