select to_char(sysdate,'yyyy') from dual;
select to_char(sysdate,'mm') from dual;
select to_char(sysdate,'dd') from dual;

解决方案 »

  1.   

    oracle里面没有季度格式,只能自己转换了
    例如:当前月为第三季度
    SQL> select decode(MOD(to_number(to_char(sysdate,'mm')),3),0,to_number(to_char(sysdate,'mm'))/3,
      2  to_number(to_char(sysdate,'mm'))/3+1) 季度  from dual;     季度
    ---------
            3
      

  2.   

    季度:
    select to_char(sysdate,'Q') from dual;
      

  3.   

    补充:
    select to_char(sysdate, 'q') from dual; --季度
      

  4.   

    季度:
    select floor((to_char(sysdate,'mm')+2)/3) from dual;FLOOR((TO_CHAR(SYSDATE,'MM')+2)/3)
    ----------------------------------
                                     3
      

  5.   

    非常感谢各位的关注,几种方法都可以,我自己写了一个函数,
    主要好似原来SQL SERVER里用过类似功能,到ORACLE里一时找不到。
      

  6.   

    select to_char(sysdate,'yyyy') from dual; --年
    select to_char(sysdate,'mm') from dual;   --月
    select to_char(sysdate,'dd') from dual;   --日
    select to_char(sysdate,'Q' from dual;     --季
    hh 小时(12)
    hh24 小时(24)
    Mi 分
    ss 秒
    D 周中的星期几
    ddd 年中的第几天
    WW 年中的第几个星期
    W 该月中第几个星期