怎么在oracle中的日期类型字段显示值格式为 2010年12月14日

解决方案 »

  1.   

    SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY"年"MM"月"DD"日"';会话已更改。SQL> select sysdate from dual;SYSDATE
    --------------
    2010年12月14日SQL>
      

  2.   

    修改你日期显示格式就可以了,比如会话级的:ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY"年"MM"月"DD"日"';
      

  3.   

    给楼主一个比较好的时间格式网页
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/sql_elements4a.htm
      

  4.   

    ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY"年"MM"月"DD"日"';
    这个是比较通行的做法。
      

  5.   

    对应的还有nls_time_format参数用来设定日期格式。
    在程序中则可使用函数来转换
    select to_char(sysdate,'yyyy')||'年'||to_char(sysdate,'mm')||'月'||
           to_char(sysdate,'dd')||'日' from dual;
    select extract(year from sysdate)||'年'||extract(month from sysdate)||'月'||
           extract(day from sysdate)||'日' from dual;
      

  6.   

    需要在整个会话过程用到就用
    ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY"年"MM"月"DD"日"';
    如果只需在某个地方输出也可用
    to_char(sysdate,'yyyy')||'年'||to_char(sysdate,'mm')||'月'||
    to_char(sysdate,'dd')||'日' 
      

  7.   

    需要在整个会话过程用到就用
    ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY"年"MM"月"DD"日"';
    如果只需在某个地方输出也可用
    to_char(sysdate,'yyyy')||'年'||to_char(sysdate,'mm')||'月'||
    to_char(sysdate,'dd')||'日' 
      

  8.   

    需要在整个会话过程用到就用
    ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY"年"MM"月"DD"日"';
    如果只需在某个地方输出也可用
    to_char(sysdate,'yyyy')||'年'||to_char(sysdate,'mm')||'月'||
    to_char(sysdate,'dd')||'日' 
      

  9.   

    这应该算是理解错误了.对于date类型oracle内部存储是一个二进制整数,上面说的都是提取格式.Internally, DATEs are stored in a binary format. When converting a DATE column value to a character string in your program, Oracle uses the default format mask for your session. If you need other date/time information such as the date in Julian days, use the TO_CHAR function with a format mask. Always convert DATE column values to and from character strings using (external) character datatypes such as VARCHAR2 or STRING.
      

  10.   

    谢谢大家了,我在用transformer进行建模操作,有些东西需要根据日期格式来进行显示相应的中文或者英文,看来只能在transformer上找找看,看怎么样进行日期格式的设定了。
      

  11.   

    找到下面资料,希望对你有用:
    win下默认的格式为DD-MM-yy ,如下:
    SQL>select sysdate from dual;SYSDATE
    ----------
    21-12月-04数据库中的日期字段中的格式为yyyy-mm-dd hh24miss,导出的数据中也要这样的格式,设置nls_date_format就可以实现,如下:
    1.用alter session来修改
     SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
     SQL> select sysdate from dual;SYSDATE
    -------------------
    2004-12-21 14:44:242.在OS中设置nls_date_format
     打开一个控制台窗口 
     C:>SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS  //注意:这里YYYY-MM-DD HH24:MI:SS不能加引号,但在unix系统中要加
     
     SQL> select sysdate from dual;SYSDATE
    -------------------
    2004-12-21 14:45:44这样改了以后只对当前的控制台窗品有效,如果不想每次都设置,就修改系统/用户环境变量,新增一个nls_date_format变量,值为YYYY-MM-DD HH24:MI:SS
    打开一个控制台窗口
     SQL> select sysdate from dual;SYSDATE
    -------------------
    2004-12-21 14:46:15