oracle的sql developer中运行代码SELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUAL;
显示结果是:
TO_DATE('2006-05-01','YYYY-MM-DD') 
------------------------- 
01-5月 -06                1 rows selected
请问为何,时间格式不是2006-05-01,如果我想显示2006-05-01,该如何修改,谢谢

解决方案 »

  1.   

    先设置一下显示日期的格式,命令为:
    alter session set nls_date_format = ‘yyyy-dd--mm’
      

  2.   

    用to_char函数
      

  3.   

    to_date得到的是date类型的数据,楼主可以用to_char(sysdate,'yyyy-MM-dd)得到字符串类型的.设置date显示格式的话,一般不随便修改。
      

  4.   

    如果楼主只是想要显示的是当时时间的话,完全用不到TO_DATE,因为这个函数恰恰把字符串格式的时间转化成了date类型的了,而date类型的数据的显示格式并不一定是你想要的,TO_DATE一般在存入数据库中的时候用。如果你想根据自己给的格式显示的话,用TO_CHAR。