【问题标题】:Get month name from date in Oracle从 Oracle 中的日期获取月份名称
【发布时间】:2011-05-28 16:50:33
【问题描述】:

如何从 Oracle 中的给定日期获取月份名称?

如果给定的日期是'15-11-2010',那么我想要从这个日期开始的November

【问题讨论】:

    标签: sql oracle date


    【解决方案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
            

            【讨论】:

              猜你喜欢
              • 2010-12-11
              • 2020-06-17
              • 2021-08-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-05-26
              相关资源
              最近更新 更多