转换干嘛??前台传入以指定格式,用to_date或者前台语言比如java,可以转入oracle的日期类型插入
从数据库中取出,可以to_char格式化,
to_char(date,fmt,param),其中fmt,param不指定,则为默认的nls_date_format,nls_date_language
测试如下:
DINGJUN123>column parameter format a20
DINGJUN123>column value format a20
DINGJUN123>/
PARAMETER VALUE
-------------------- --------------------
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
DINGJUN123>select * from v$nls_parameters
2 where parameter in('NLS_DATE_FORMAT','NLS_DATE_LANGUAGE');
PARAMETER VALUE
-------------------- --------------------
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
DINGJUN123>select sysdate from dual;
SYSDATE
--------------
10-7月 -10
DINGJUN123>alter session set nls_date_format='DD-MON-RR AM';
会话已更改。
DINGJUN123>select sysdate from dual;
SYSDATE
-------------------
10-7月 -10 下午
DINGJUN123>alter session set nls_date_language='American';
会话已更改。
DINGJUN123>select sysdate from dual;
SYSDATE
---------------
10-JUL-10 PM
不知道你为什么搞那么复杂呢?