日期:2014-05-17  浏览次数:21000 次

数据库日期格式转换问题
数据库中一个字段为日期类型,我想让显示的时候显示成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就可以

------解决方案--------------------
select to_char(aa,'yyyy"年"mm"月"dd"日"') as 日期 from bb 
应该就可以了,

操作系统如果是英文的,中文字符会无法识别。
------解决方案--------------------
由于数据库nls没有设置支持中文日期格式,可以用下面得到效果
select to_char(aa,'yyyy')
------解决方案--------------------
"年"
------解决方案--------------------
to_char(aa,'mm')
------解决方案--------------------
"月"
------解决方案--------------------
to_char(aa,'dd')
------解决方案--------------------
"日" as 日期 from bb
------解决方案--------------------
SELECT to_char(SYSDATE,'yyyy"年"mm"月"dd"日"') FROM dual;