簡體   English   中英

從月份名稱中獲取月份編號

[英]Get month number from month name

我有一個 varchar 字段顯示為:MON-YYYY。

我需要從字段中提取月份編號。 例如:2017 年 4 月。

預計 output:04

當然,因為我們只有 12 個,我可以做一個 substring 和 case,但嘗試使用以下方法一次完成:

    to_char(to_date(Period,'MON YYYY'),'MM') as Month

不斷遇到錯誤-在預期非數字的地方發現數字等。

這里有什么問題? 有沒有其他更簡單的方法從 2017 年 4 月獲得“04”

那EXTRACT函數呢?

http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions050.htm

EXTRACT(MONTH FROM to_date(Period,'MON YYYY'),'MM') as Month

檢查您的oracle語言,看來是另一種語言。

因為我正在嘗試使用此代碼:

select to_char(to_date('ABR 1990','MONTH yyyy'), 'mm') as MONTH from dual;

我得到:

結果

注意:我的母語是西班牙語。

如果您需要 integer 格式的結果 - 試試這個 -

select EXTRACT(Month FROM to_date(<month_name_column>,'mon')) 來自 <table_name>

示例- select EXTRACT(Month FROM to_date('January','mon')) 來自 dual

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM