【发布时间】:2016-09-01 11:23:21
【问题描述】:
我想从我的数据库表中获取数据,并希望以 2016 年 6 月 15 日的格式显示它
【问题讨论】:
-
列数据类型?
标签: sql formatting oracle10g
我想从我的数据库表中获取数据,并希望以 2016 年 6 月 15 日的格式显示它
【问题讨论】:
标签: sql formatting oracle10g
很简单!
select to_char(date'2016-06-15', 'fmDdspth MONTH, YYYY') from dual;
Fifteenth JUNE, 2016
解释日期格式字符串:
fm = 删除填充字符(多余的空格被删除)Ddsp = 月份中的哪一天,在 Initcap 中用文字拼写th = 添加“th”、“nd”或“st”数字后缀MONTH = 月份名称,大写YYYY = 世纪和年份【讨论】:
实际上我没有 oracle 10g,所以我在 11g 上进行了测试,它运行良好。试一试,然后评论会发生什么。
SELECT TO_CHAR(DateValue, 'Ddspth')||' '||TO_CHAR(DateValue, 'fmMONTH')||' , '|| TO_CHAR(DateValue, 'YYYY') FROM TableName;
【讨论】:
看来您应该实现自己的函数或 case 语句,因为 Oracle 没有此功能。 详情请参阅TO_CHAR function 和Datetime format。
【讨论】: