SQL> select to_char(sysdate,'yyyy')||'年'||to_char(sysdate,'mm')||'月'||to_char(sysdate,'dd')||'日'
  2  from dual;TO_CHAR(SYSDAT
--------------
2003年08月26日

解决方案 »

  1.   

    select to_char(sysdate, 'yyyy')|'年', to_char(... from dual;
      

  2.   

    再问一句,oracle支持不支持“2003年08月25日”这样的日期格式?如果不支持,
    那是否只能用varchar2类型来存储这样的字段?
      

  3.   

    更简单的SQL> select to_char(sysdate,'yyyy"年"mm"月"dd"日"') from dual;TO_CHAR(SYSDAT
    --------------
    2003年08月26日SQL>
      

  4.   

    能否将“2003年08月26日”这个格式作为一个date类型字段存储?
      

  5.   

    date类型与具体的格式是无关的
      

  6.   

    to gladness(gladness):
        date类型与具体的格式是无关的什么意思?举例解释一下,谢谢!
      

  7.   

    因为date类型的存储应该是和float一样的,1就是一天。
    具体的格式只是显示不一样而已
      

  8.   

    To_CHAR格式化输出便可,如果要改
    Select SYSdate from dual;
    alter sessin NLS_   忘记了
      

  9.   

    select to_char(sysdate,'yyyy"年"mm"月"dd"日"') 
    能否将“2003年08月26日”这个格式作为一个date类型字段存储?
    不能
      

  10.   

    不好意思,我表达得不清楚。
    date类型保存了日期和时间,通过客户端的不同设置,显示格式会有所不同,但不会影响数据库中保存的值。
    一般向表中插入或更新日期类型的字段时,要用to_date函数,从表中查出日期数据进行显示时,要用to_char函数