SQL> SELECT to_char(date'2051-12-21','dd-mon-yyyy') FROM dual ;TO_CHAR(DATE ------------ 21-12月-2051SQL>
不能用其它函数 就用cast 因为程序涉及到统一将不同类型转换为VARCHAR2
不能用其它函数 就用cast 因为程序涉及到统一将不同类型转换为VARCHAR2那就设置参数 alter session set nls_date_format = 'dd-mon-yyyy'; SELECT CAST(date'2051-12-21' AS VARCHAR2(500)) FROM dual ;
修改日期缺省掩码,然后再执行查询ORACLE的DATE类型的显示方式取决于NLS_DATE_FORMAT初始化参数 NLS_DATE_FORMAT参数可以在以下几个级别设置 1、数据库级别——如果希望所有人都看到某种格式的数据,则在SQLPLUS中运行 sql>alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 2、SESSION级别——如果只是希望自己看到某种格式而不影响其他人看到的结果 sql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
------------
21-12月-2051SQL>
alter session set nls_date_format = 'dd-mon-yyyy';
SELECT CAST(date'2051-12-21' AS VARCHAR2(500)) FROM dual ;
NLS_DATE_FORMAT参数可以在以下几个级别设置
1、数据库级别——如果希望所有人都看到某种格式的数据,则在SQLPLUS中运行
sql>alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss';
2、SESSION级别——如果只是希望自己看到某种格式而不影响其他人看到的结果
sql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
程序里这么做,就是一个隐患