如何在 sql 中以 2016 年六月十五日格式显示日期

How to display date in Fifteenth JUNE, 2016 format in sql

我想从我的数据库中获取数据table并且我想以 2016 年六月十五日格式显示它

看来你应该实现自己的函数或case语句,因为Oracle没有这个功能。 有关详细信息,请参阅 TO_CHAR function and Datetime format

实际上我没有 oracle 10g,所以我在 11g 上测试,它运行得很好。在你的最后试一试并评论会发生什么。

SELECT TO_CHAR(DateValue, 'Ddspth')||' '||TO_CHAR(DateValue, 'fmMONTH')||' , '|| TO_CHAR(DateValue, 'YYYY') FROM TableName;

很简单!

select to_char(date'2016-06-15', 'fmDdspth MONTH, YYYY') from dual;

Fifteenth JUNE, 2016

日期格式字符串说明:

  • fm = 删除填充字符(删除多余的空格)
  • Ddsp = 在 Initcap
  • 中用文字拼写的月份中的第几天
  • th = 添加 "th"、"nd" 或 "st" 号码后缀
  • MONTH = 月份名称,大写
  • YYYY = 世纪和年份