从月份名称获取月份编号
我有一个varchar字段出现为:MON-YYYY。从月份名称获取月份编号
我需要从字段中提取月份编号。 例如:APR 2017
预期输出:04
当然,因为我们只有12,我可以做一个串并案件,而是试图做一次性使用如下:
to_char(to_date(Period,'MON YYYY'),'MM') as Month
会一直出现错误-numeric在预期非数字的地方发现等。
这里有什么问题?是否还有其他更简单的方法可以从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
我得到一个'缺少右括号'对此。我认为当你从问题转换它的时候,你保留了to_char和to_char格式的paren。 – unleashed
你是对的,我的错误,留在你的文章的括号中。 –
你已经留在','MM'部分了...... –
你正在做这个正确的。将字符串转换为日期,然后运行to_char以获取月份的数字值。你错误来自其他的东西。你能提供这个代码和你收到的实际错误吗? – unleashed
我怀疑你的列中的字符串值不是你期望的格式。 –