截断到年
1月1日
08:44:29 SQL>  SELECT TRUNC(sysdate,'YY') from dual;TRUNC(SYSDATE,'YY')
-------------------
2003-01-01 00:00:00实际:20
08:44:37 SQL>

解决方案 »

  1.   

    那我写的SQL语句有问题吗?怎么提示无效的月份呀?
      

  2.   

    SQL> SELECT TRUNC(sysdate,'YY') from dual;TRUNC(SYSD
    ----------
    01-1月 -03怎么和你的不一样呀?奇怪
      

  3.   

    用中文就行了
    08:52:22 SQL> select TRUNC(TO_DATE('27-10月-1992','dd-mon-yyyy'),'yyyy') from dual;TRUNC(TO_DATE('27-1
    -------------------
    1992-01-01 00:00:00实际:20
    08:52:59 SQL>
      

  4.   

    08:52:59 SQL> alter session set nls_date_format='yyyy-mon-dd';会话已更改。实际:20
    08:54:12 SQL> select TRUNC(TO_DATE('27-10月-1992','dd-mon-yyyy'),'yyyy') from dual;TRUNC(TO_DAT
    ------------
    1992-1月 -01实际:20
    08:54:17 SQL> 跟你的一样了吧alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
      

  5.   

    这么说和操作系统还有关系?那为什么我复制你写的SQL语句在我的机子上执行的结果就不一样?