通过系统时间获取当前学年
SELECTTO_CHAR( CASE WHEN B >= 9 THEN A ELSE A - 1 END ) nf FROM(SELECTTO_NUMBER( SUBSTR( TO_CHAR( SYSDATE, 'yyyy-mm-dd hh24:mi:ss' ), 0, 4 ), 9999 ) A,TO_NUMBER( SUBSTR( TO_CHAR( SYSDATE, 'yyyy-mm-dd hh24:mi:ss' ), 6, 2 ), 99 ) B FROMdual ) AA
通过系统时间获取前5年的学年学期
SELECTTO_CHAR(CASEWHEN B >= 9 THENTO_CHAR( A ) || '-' || TO_CHAR( A + 1 ) || '-1' ELSE TO_CHAR( A ) || '-' || TO_CHAR( A + 1 ) || '-2' END ) nf FROM(SELECTTO_NUMBER( SUBSTR( TO_CHAR( a, 'yyyy-mm-dd hh24:mi:ss' ), 0, 4 ), 9999 ) A,TO_NUMBER( SUBSTR( TO_CHAR( a, 'yyyy-mm-dd hh24:mi:ss' ), 6, 2 ), 99 ) B FROM( SELECT SYSDATE a FROM dual UNION ALL SELECT add_months(SYSDATE,-6) a FROM dual UNION ALL SELECT add_months(SYSDATE,-12) a FROM dual UNION ALL SELECT add_months(SYSDATE,-18) a FROM dual UNION ALL SELECT add_months(SYSDATE,-24) a FROM dual UNION ALL SELECT add_months(SYSDATE,-30) a FROM dual UNION ALL SELECT add_months(SYSDATE,-36) a FROM dual UNION ALL SELECT add_months(SYSDATE,-42) a FROM dual UNION ALL SELECT add_months(SYSDATE,-48) a FROM dual ) ) AA