insert into bb (myyear) 
select decode(instr('010203',to_char(sysdate,'mm')),0,to_char(sysdate,'yyyy'),to_char(sysdate,'yyyy')-1) from dual
/

解决方案 »

  1.   

    SQL> desc bb;
     名称                                      是否为空? 类型
     ----------------------------------------- -------- ----------------------------
     MYYEAR                                             CHAR(4)SQL> select sysdate from dual;SYSDATE
    ----------
    12-1月 -04insert into bb (myyear) 
    select decode(instr('010203',to_char(sysdate,'mm')),0,to_char(sysdate,'yyyy'),to_char(sysdate,'yyyy')-1) 
    from dual where rownum=1
    /已创建 1 行。SQL> select * from bb;MYYE
    ----
    2003SQL> select sysdate from dual;SYSDATE
    ----------
    12-12月-04insert into bb (myyear) 
    select decode(instr('010203',to_char(sysdate,'mm')),0,to_char(sysdate,'yyyy'),to_char(sysdate,'yyyy')-1) 
    from dual where rownum=1
    /已创建 1 行。SQL> select * from bb;MYYE
    ----
    2003
    2004