解决方案 »

  1.   

    跟你数据库默认的日期显示格式有关。你可以查询NLS_DATE_FORMAT和NLS_DATE_LANGUAGE,select * from V$NLS_PARAMETERS.
      

  2.   

    SQL> select * from V$nls_Parameters;
     
    PARAMETER                                          VALUE
    ---------------------------------------------------------------- ----------------------------------------------------------------
    NLS_LANGUAGE                                   SIMPLIFIED CHINESE
    NLS_TERRITORY                                    CHINA
    NLS_CURRENCY                                    ¥
    NLS_ISO_CURRENCY                            CHINA
    NLS_NUMERIC_CHARACTERS            .,
    NLS_CALENDAR                                    GREGORIAN
    NLS_DATE_FORMAT                            DD-MON-RR
    NLS_DATE_LANGUAGE                        SIMPLIFIED CHINESE
    NLS_CHARACTERSET                           ZHS16GBK
    NLS_SORT                                              BINARY
    NLS_TIME_FORMAT                             HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT                DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT                       HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT          DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY                        ¥
    NLS_NCHAR_CHARACTERSET           AL16UTF16
    NLS_COMP                                             BINARY
    NLS_LENGTH_SEMANTICS                  BYTE
    NLS_NCHAR_CONV_EXCP                   FALSE看到了,不是可以不用默认的吗?
      

  3.   


     to_date('11-03-27','yy/mm/dd')这个只是把一个字符串转换成DATE型,数据库显示DATE类型的时候如果你没有指明格式它就会使用默认的日期格式进行显示,你可以再用to_char来指定你需要显示的格式,或者更改NLS_DATE_FORMAT的值
      

  4.   


     to_date('11-03-27','yy/mm/dd')这个只是把一个字符串转换成DATE型,数据库显示DATE类型的时候如果你没有指明格式它就会使用默认的日期格式进行显示,你可以再用to_char来指定你需要显示的格式,或者更改NLS_DATE_FORMAT的值原来如此啊!
      

  5.   

    to_date('11-03-27','yy/mm/dd')那这个格式转换还有什么用呢!
      

  6.   

    to_date('11-03-27','yy/mm/dd')那这个格式有什么用呢?
      

  7.   

    '11-03-27'开始的这个只是个字符串,把它to_date了就可以将它按date类型来插入对应字段或者用来计算等
      

  8.   

    '11-03-27'开始的这个只是个字符串,把它to_date了就可以将它按date类型来插入对应字段或者用来计算等懂了,那后面这个'yyyy-mm-dd'这个格式对to_date函数而言,就没多大意义了吧。应该是用在to_char函数上的吧!
      

  9.   

    '11-03-27'开始的这个只是个字符串,把它to_date了就可以将它按date类型来插入对应字段或者用来计算等懂了,那后面这个'yyyy-mm-dd'这个格式对to_date函数而言,就没多大意义了吧。应该是用在to_char函数上的吧!
    有意义啊,这个格式必须要跟你的字符串对应的,如果你的字符串为11-03-27,那格式也应该写为yy-mm-dd,而不能写成yyyy/mm/dd等,否则报错
      

  10.   

    '11-03-27'开始的这个只是个字符串,把它to_date了就可以将它按date类型来插入对应字段或者用来计算等懂了,那后面这个'yyyy-mm-dd'这个格式对to_date函数而言,就没多大意义了吧。应该是用在to_char函数上的吧!
    有意义啊,这个格式必须要跟你的字符串对应的,如果你的字符串为11-03-27,那格式也应该写为yy-mm-dd,而不能写成yyyy/mm/dd等,否则报错我执行了下,并没有报错,不知道是不是我理解的不对?
      

  11.   

    '11-03-27'开始的这个只是个字符串,把它to_date了就可以将它按date类型来插入对应字段或者用来计算等懂了,那后面这个'yyyy-mm-dd'这个格式对to_date函数而言,就没多大意义了吧。应该是用在to_char函数上的吧!
    有意义啊,这个格式必须要跟你的字符串对应的,如果你的字符串为11-03-27,那格式也应该写为yy-mm-dd,而不能写成yyyy/mm/dd等,否则报错我执行了下,并没有报错,不知道是不是我理解的不对?
    这个是我错了,有些是Oracle能自动识别转换的,我愿意指的是这些
    select to_date('2013-01-01','mm-dd') from dual
    select to_date('01-01','yyyy-mm-dd') from dual
      

  12.   

    '11-03-27'开始的这个只是个字符串,把它to_date了就可以将它按date类型来插入对应字段或者用来计算等懂了,那后面这个'yyyy-mm-dd'这个格式对to_date函数而言,就没多大意义了吧。应该是用在to_char函数上的吧!
    有意义啊,这个格式必须要跟你的字符串对应的,如果你的字符串为11-03-27,那格式也应该写为yy-mm-dd,而不能写成yyyy/mm/dd等,否则报错我执行了下,并没有报错,不知道是不是我理解的不对?你用的是Oracle 11g吗,为什么我的还和我的问题上的一样呢?
      

  13.   

    '11-03-27'开始的这个只是个字符串,把它to_date了就可以将它按date类型来插入对应字段或者用来计算等懂了,那后面这个'yyyy-mm-dd'这个格式对to_date函数而言,就没多大意义了吧。应该是用在to_char函数上的吧!
    有意义啊,这个格式必须要跟你的字符串对应的,如果你的字符串为11-03-27,那格式也应该写为yy-mm-dd,而不能写成yyyy/mm/dd等,否则报错我执行了下,并没有报错,不知道是不是我理解的不对?你用的是Oracle 11g吗,为什么我的还和我的问题上的一样呢?
    我用的是10g的