从 Oracle 中的日期获取月份名称
Posted
技术标签:
【中文标题】从 Oracle 中的日期获取月份名称【英文标题】:Get month name from date in Oracle 【发布时间】:2011-05-28 16:50:33 【问题描述】:如何从 Oracle 中的给定日期获取月份名称?
如果给定的日期是'15-11-2010'
,那么我想要从这个日期开始的November
。
【问题讨论】:
【参考方案1】:select to_char(sysdate, 'Month') from dual
在您的示例中将是:
select to_char(to_date('15-11-2010', 'DD-MM-YYYY'), 'Month') from dual
【讨论】:
【参考方案2】:试试这个,
select to_char(sysdate,'dd') from dual; -> 08 (date)
select to_char(sysdate,'mm') from dual; -> 02 (month in number)
select to_char(sysdate,'yyyy') from dual; -> 2013 (Full year)
【讨论】:
这是正确的,但没有回答问题如何获取月份name。【参考方案3】:to_char(mydate, 'MONTH')
将完成这项工作。
【讨论】:
【参考方案4】:在 Oracle(至少 11g)数据库中:
如果你打了
select to_char(SYSDATE,'Month') from dual;
它给出未格式化的月份名称,带有空格,例如May 将被指定为“May”。字符串 May 会有空格。
为了格式化月份名称,即修剪空格,您需要
select to_char(SYSDATE,'fmMonth') from dual;
这将返回“May”。
【讨论】:
【参考方案5】:如果您尝试从字段中提取值,您可以使用:
select extract(month from [field_name])
from [table_name]
您还可以为上面的“月”提取值插入日期或年份。
【讨论】:
这只会给出月份值而不是文本。【参考方案6】:试试这个
select to_char(SYSDATE,'Month') from dual;
全名试试这个
select to_char(SYSDATE,'Mon') from dual;
缩写
您可以在这里找到更多选项:
https://www.techonthenet.com/oracle/functions/to_char.php
【讨论】:
【参考方案7】:如果您采用系统日期:
--Full month name :
select to_char(trunc(sysdate,'MONTH'),'MONTH') as month from dual; --MARCH
--Short month name:
select to_char(trunc(sysdate,'MON'),'MON') as month from dual; --MAR
--Month number:
select to_char(trunc(sysdate,'MM'),'MM') as month from dual; --03
如果您选择特定日期:
--Full month's name:
select to_char(trunc(to_date('11-03-2021','DD-MM-YYYY'),'MONTH'),'MONTH') as month from dual; --MARCH
--Short month's name:
select to_char(trunc(to_date('11-03-2021','DD-MM-YYYY'),'MON'),'MON') as month from dual; --MAR
--Month's number:
select to_char(trunc(to_date('11-03-2021','DD-MM-YYYY'),'MM'),'MM') as month from dual; --03
【讨论】:
以上是关于从 Oracle 中的日期获取月份名称的主要内容,如果未能解决你的问题,请参考以下文章