我有一个varchar领域出来:星期一-年。我需要从字段中提取月份号。例如:2017年4月。预期输出:04当然,因为我们只有12个,我可以做一个子字符串和情况,但试图在一个镜头使用以下:
to_char(to_date(Period,'MON YYYY'),'MM') as Month
不断遇到错误-在需要非数字的地方找到数字,等等。有没有其他更简单的方法从2017年4月获得“04”
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
jckbn6z72#
检查一下你的Oracle语言,它似乎是在另一种情况下。因为我尝试与这个代码:
select to_char(to_date('ABR 1990','MONTH yyyy'), 'mm') as MONTH from dual;
我得到:
njthzxwz3#
如果您需要整数格式的结果-试试这个-选择EXTRACT(月份FROM到_date(<month_name_column>,'mon'))从<table_name>示例-从双变量中选择EXTRACT(Month FROM to_date('January','mon')
3条答案
按热度按时间ax6ht2ek1#
那么EXTRACT函数呢?
http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions050.htm
jckbn6z72#
检查一下你的Oracle语言,它似乎是在另一种情况下。
因为我尝试与这个代码:
我得到:
njthzxwz3#
如果您需要整数格式的结果-试试这个-
选择EXTRACT(月份FROM到_date(<month_name_column>,'mon'))从<table_name>
示例-从双变量中选择EXTRACT(Month FROM to_date('January','mon')