[英]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
如果您需要 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.