【问题标题】:How to display date in Fifteenth JUNE, 2016 format in sql如何在sql中以2​​016年6月15日格式显示日期
【发布时间】:2016-09-01 11:23:21
【问题描述】:

我想从我的数据库表中获取数据,并希望以 2016 年 6 月 15 日的格式显示它

【问题讨论】:

  • 列数据类型?

标签: sql formatting oracle10g


【解决方案1】:

很简单!

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

Fifteenth JUNE, 2016

解释日期格式字符串:

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

【讨论】:

    【解决方案2】:

    实际上我没有 oracle 10g,所以我在 11g 上进行了测试,它运行良好。试一试,然后评论会发生什么。

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

    【讨论】:

      【解决方案3】:

      看来您应该实现自己的函数或 case 语句,因为 Oracle 没有此功能。 详情请参阅TO_CHAR functionDatetime format

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-18
        • 1970-01-01
        • 2011-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-29
        • 1970-01-01
        相关资源
        最近更新 更多