解决方案 »

  1.   

    SQL> SELECT to_char(date'2051-12-21','dd-mon-yyyy') FROM dual ;TO_CHAR(DATE
    ------------
    21-12月-2051SQL>
      

  2.   

    不能用其它函数 就用cast  因为程序涉及到统一将不同类型转换为VARCHAR2
      

  3.   

    不能用其它函数 就用cast  因为程序涉及到统一将不同类型转换为VARCHAR2那就设置参数
    alter session set nls_date_format = 'dd-mon-yyyy';
    SELECT CAST(date'2051-12-21' AS VARCHAR2(500)) FROM dual ; 
      

  4.   

    修改日期缺省掩码,然后再执行查询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';
      

  5.   

    有点不靠谱。先将date类型的值用系统默认的格式转换成字符串,再让字符串进行隐式转换插入到date类型的字段中
    程序里这么做,就是一个隐患