1:
返回当前系统时间是第几季度,效果如下
SQL> select sysdate,to_char(sysdate,'q')as quarmat from dual;
SYSDATE QUARMAT
----------- -------
2016/11/28 4
SQL>
SQL>
2:也可以自己写一个
SQL> CREATE OR REPLACE FUNCTION zz_s(p_sysdate IN DATE) RETURN VARCHAR2 IS
2 v_sysdate VARCHAR2(2);
3 v_q VARCHAR2(1);
4 BEGIN
5 v_sysdate := to_char(SYSDATE, 'mm');
6 IF v_sysdate IN ('01', '02', '03') THEN
7 v_q := '1';
8 ELSIF v_sysdate IN ('04', '05', '06') THEN
9 v_q := '2';
10 ELSIF v_sysdate IN ('07', '08', '09') THEN
11 v_q := '3';
12 ELSE
13 v_q := '4';
14 END IF;
15 RETURN v_q;
16 END;
17 /
Function created
SQL> select sysdate,zz_s(sysdate) as quarmat from dual;
SYSDATE QUARMAT
----------- --------------------------------------------------------------------------------
2016/11/28 4
SQL>
SQL> select sysdate,to_char(sysdate,'q')as quarmat from dual;
SYSDATE QUARMAT
----------- -------
2016/11/28 4
SQL>
SQL>
2:也可以自己写一个
SQL> CREATE OR REPLACE FUNCTION zz_s(p_sysdate IN DATE) RETURN VARCHAR2 IS
2 v_sysdate VARCHAR2(2);
3 v_q VARCHAR2(1);
4 BEGIN
5 v_sysdate := to_char(SYSDATE, 'mm');
6 IF v_sysdate IN ('01', '02', '03') THEN
7 v_q := '1';
8 ELSIF v_sysdate IN ('04', '05', '06') THEN
9 v_q := '2';
10 ELSIF v_sysdate IN ('07', '08', '09') THEN
11 v_q := '3';
12 ELSE
13 v_q := '4';
14 END IF;
15 RETURN v_q;
16 END;
17 /
Function created
SQL> select sysdate,zz_s(sysdate) as quarmat from dual;
SYSDATE QUARMAT
----------- --------------------------------------------------------------------------------
2016/11/28 4
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31399171/viewspace-2129193/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31399171/viewspace-2129193/