SQL> SELECT TO_DATE('2008-09-16','YYYY-MM-DD') "MY_DATE" FROM DUAL;MY_DATE ----------- 2008-9-16SQL> SELECT TRUNC(TO_DATE('2008-09-16','YYYY-MM-DD'),'MM') "MY_DATE" FROM DUAL;MY_DATE ----------- 2008-9-1SQL> SELECT TO_CHAR(TO_DATE('2008-09-16','YYYY-MM-DD'),'YYYY-MM') "MY_DATE" FROM DUAL;MY_DATE ------- 2008-09SQL>
YYYY-MM-DD and YYYY-MM both are character format, not DATE type. Please understand well what DATE is, every format that you want to show as YYYY-MM-DD or YYYY-MM is char type.
trunc(v_mon,'yyyy')
有没有将v_mon转换成'yyyy-mm'的形式的函数
-----------
2008-9-16SQL> SELECT TRUNC(TO_DATE('2008-09-16','YYYY-MM-DD'),'MM') "MY_DATE" FROM DUAL;MY_DATE
-----------
2008-9-1SQL> SELECT TO_CHAR(TO_DATE('2008-09-16','YYYY-MM-DD'),'YYYY-MM') "MY_DATE" FROM DUAL;MY_DATE
-------
2008-09SQL>
Please understand well what DATE is, every format that you want to show as YYYY-MM-DD or YYYY-MM is char type.