数据库中一个字段为日期类型,我想让显示的时候显示成xxxx年xx月xx日,进行了下面的尝试,select to_char(aa,'yyyy年mm月dd日') as 日期 from bb 
但报错:ora-01821:日期格式无法识别但是我看select to_char(aa,'yyyy-mm-dd') as 日期 from bb就可以

解决方案 »

  1.   

    select to_char('yyyy-mm-dd') as 日期 from bb就可以
      

  2.   

    select to_char(aa,'yyyy"年"mm"月"dd"日"') as 日期 from bb 
    应该就可以了,操作系统如果是英文的,中文字符会无法识别。
      

  3.   

    由于数据库nls没有设置支持中文日期格式,可以用下面得到效果
    select to_char(aa,'yyyy')||"年"||to_char(aa,'mm')||"月"||to_char(aa,'dd')||"日" as 日期 from bb
      

  4.   

    select to_char(sysdate,'YYYY')||'年'||to_char(sysdate,'MM')||'月'||to_char(sysdate,'DD')||'日' from dual
      

  5.   

    select to_char(sysdate,'YYYY')||'年'||to_char(sysdate,'MM')||'月'||to_char(sysdate,'DD')||'日' from dual 这样就可以,oracle的操作系统是英文的,时间只支持  yyyy-mm-dd hh24:mi:ss,所以要连接中文字符,必须||'年'||这样
      

  6.   

    SELECT to_char(SYSDATE,'yyyy"年"mm"月"dd"日"') FROM dual;
    学到了,谢谢指点。
      

  7.   

    SELECT to_char(SYSDATE,'yyyy"年"mm"月"dd"日"') FROM dual;
    好神奇的语句
      

  8.   

    SELECT to_char(SYSDATE,'yyyy"年"mm"月"dd"日"') FROM dual;