从月份名称

时间:2017-05-03 19:54:40

标签: sql oracle

我有一个varchar字段:MON-YYYY。

我需要从字段中提取月份编号。 例如:2017年APR。

预期产出:04

当然,因为我们只有12个,所以我可以做一个子串和案例,但尝试使用下面的一个镜头进行:

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

一直遇到错误 - 找到非数字的数字等等。

这里有什么问题?有没有其他更简单的方法来获得" 04"来自2017年4月的

2 个答案:

答案 0 :(得分:1)

EXTRACT功能怎么样?

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

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

答案 1 :(得分:0)

检查你的oracle语言,它似乎在另一个。

因为我正在尝试使用此代码:

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

我得到了:

Result

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