>set scDateTime = scDateTime+秒数+(sysdate-一个日期类型的值)到底哪儿有问题?
是“一个日期类型的值”不好表达么?
to_date('20050830','yyyymmdd')...

解决方案 »

  1.   

    TO_DATE不就可以搞定了么??具体的格式查一下就知道了
      

  2.   

    scDateTime 是date类型的吧
    set scDateTime = scDateTime+秒数/(60*60*24)+(sysdate-一个日期类型的值)
      

  3.   

    时间类型进行加减运算,都是以天为单位的;如果想得到其他单位(月/分/秒)的结果,最后再转换一下。SQL> select sysdate "time1",sysdate + 50/60/60/24 "time2" from dual;             time1                 time2
    ------------------ -------------------
    2005-8-31 8:32:20  2005-8-31 8:33:10Executed in 0.016 secondsSQL>
      

  4.   

    feng2(蜀山风云) 说的很清楚了啊
    sysdate + 50/60/60/24 相当于在sysdate上加了50/60/60/24 天(50秒)!
      

  5.   

    set scDateTime = scDateTime+秒数+(sysdate-一个日期类型的值)
    ------
    时间直接加一个数就按天数算了,两个日期型相减就是相差天数,所以要
    set scDateTime = scDateTime+秒数/60/60/24+(sysdate-一个日期类型的值)
      

  6.   

    ‘20040723’ 的周一 →  ‘20040725’
                
    select   to_char(next_day( TO_DATE('20040723','YYYYMMDD'),1),'YYYYMMDD') from dual