SQL中的datediff函数在oracle里好像没有这个函数,
我现在要算一年有多少个星期,有什么好的算法吗?

解决方案 »

  1.   


    43.求两日期某一部分的差(比如秒)
    S:select  datediff(ss,getdate(),getdate()+12.3) value
    O:直接用两个日期相减(比如d1-d2=12.3)
      SELECT (d1-d2)*24*60*60 vaule FROM DUAL;
    如果是星期
    SELECT (d1-d2)/7 vaule FROM DUAL;  
    在取整就可以了
      

  2.   

    39.取日期时间的其他部分
    S:DATEPART 和 DATENAME 函数 (第一个参数决定)  
    O:to_char函数  第二个参数决定参数---------------------------------下表需要补充
    year   yy, yyyy 
    quarter  qq, q    (季度)
    month   mm, m    (m  O无效)
    dayofyear  dy, y           (O表星期)
    day   dd, d    (d O无效)
    week   wk, ww    (wk O无效)
    weekday  dw    (O不清楚)
    Hour   hh,hh12,hh24     (hh12,hh24 S无效)
    minute   mi, n          (n O无效)
    second   ss, s     (s O无效)
    millisecond  ms    (O无效)
    ----------------------------------------------也可以用to_char得到week,再相减