oracle 从月份名称获取月份编号

pieyvz9o  于 2022-11-28  发布在  Oracle
关注(0)|答案(3)|浏览(172)

我有一个varchar领域出来:星期一-年。
我需要从字段中提取月份号。例如:2017年4月。
预期输出:04
当然,因为我们只有12个,我可以做一个子字符串和情况,但试图在一个镜头使用以下:

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

不断遇到错误-在需要非数字的地方找到数字,等等。
有没有其他更简单的方法从2017年4月获得“04”

ax6ht2ek

ax6ht2ek1#

那么EXTRACT函数呢?
http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions050.htm

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

jckbn6z72#

检查一下你的Oracle语言,它似乎是在另一种情况下。
因为我尝试与这个代码:

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

我得到:

  • 注:我的母语是西班牙语。*
njthzxwz

njthzxwz3#

如果您需要整数格式的结果-试试这个-
选择EXTRACT(月份FROM到_date(<month_name_column>,'mon'))从<table_name>
示例-从双变量中选择EXTRACT(Month FROM to_date('January','mon')

相关问题