SQL> select sysdate from dual;SYSDATE
---------
03-JUN-10SQL> select to_date(sysdate,'yyyy-mm-dd') from dual;TO_DATE(S
---------
10-JUN-03SQL> select to_date('sysdate','yyyy-mm-dd') from dual;
select to_date('sysdate','yyyy-mm-dd') from dual
               *
ERROR at line 1:
ORA-01841: (full) year must be between -4713 and +9999, and not be 0
我有两个问题想请教:
1.为什么指定我需要的日期格式,年份还是10年呢?
2.sysdate为什么不能打上双引号啊?

解决方案 »

  1.   

    1. select to_char(sysdate, 'yyyy-mm-dd') from dual;
    2. sysdate是一個函數(function)
      

  2.   

    但是我使用 select to_char(sysdate,'yyyy-mm-dd') from dual 得到的结果是
    TO_DATE(S
    ---------
    10-JUN-03为什么不是 2010-JUN-03 呢?
      

  3.   


    我有两个问题想请教:
    1.为什么指定我需要的日期格式,年份还是10年呢?
    因为默认的是这样的形式
    SQL> alter session set nls_date_format='yyyy-mm-dd'
      2  /会话已更改。SQL> select sysdate from dual;SYSDATE
    ----------
    2010-06-03
    2.sysdate为什么不能打上双引号啊?
    sysdate 一个系统的日期函数 加引号肯定不行的
      

  4.   

    你用的是to_date吧,看清楚是to_char
      

  5.   


    select to_char(sysdate,'yyyy-MON-dd') from dual ;TO_CHAR(SYSDATE,'YYYY-MON-DD')
    ------------------------------
    2010-JUN-03