当前位置: 代码迷 >> Oracle管理 >> Oracle 11g 中to_date() 请问
  详细解决方案

Oracle 11g 中to_date() 请问

热度:104   发布时间:2016-04-24 04:30:22.0
Oracle 11g 中to_date() 请教
oracle 11g中to_date()的使用:不是格式所要的结果啊???

在sqlplus和SQL Developer中结果是:
SQL> select to_date('11-03-27','yy/mm/dd') day1 from dual;

DAY1
--------------
27-3月 -11
在 PL/SQL Developer 9下的结果是:
SQL> select to_date('11-03-27','yy/mm/dd') day1 from dual;
 
DAY1
-----------
2011/3/27 星
请教原因!!!
Oracle to_date

------解决方案--------------------
引用:
Quote: 引用:

跟你数据库默认的日期显示格式有关。你可以查询NLS_DATE_FORMAT和NLS_DATE_LANGUAGE,select * from V$NLS_PARAMETERS.
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
看到了,不是可以不用默认的吗?


 to_date('11-03-27','yy/mm/dd')这个只是把一个字符串转换成DATE型,数据库显示DATE类型的时候如果你没有指明格式它就会使用默认的日期格式进行显示,你可以再用to_char来指定你需要显示的格式,或者更改NLS_DATE_FORMAT的值
------解决方案--------------------
自己用之前先设置就好了,不用管这些本地化
  相关解决方案