繁体   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