将字符串转换为数字
问题描述:
我有一个字符串'Q1-96'
。将字符串转换为数字
我想在这种情况下获取季度数字,即1。我已经使用to_number(substr('Q1-96',2,1),'9')
。
我想将此值插入数据类型为NUMBER的列中。
但为我所用to_number(substr('Q1-96',2,1),'9')
我得到以下错误:
SQL Error: ORA-01722: invalid number
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
有没有办法做到这一点。
答
为什么你甚至需要使用to_number
?
SQL> insert into tbl1 select substr('Q1-96',2,1) from dual;
SQL> select * from tbl1;
NUM
-----
1
+0
感谢您的回复!这是我的错误。这实际上是一些领域的数据问题。 – joe
它应该工作,即使没有to_number只是通过使用substr('Q1-96',2,1)。你的插入语句在整体中看起来像什么?你确定这是产生错误的值吗? – Rene
请向我们展示**完整的**插入语句(** [编辑] **您的问题 - 请不要**发布代码或注释中的其他信息) –
大家好!对不起,这个问题。正如我检查,在一个领域的数据是'APR-16'这是造成这个问题。你们都是对的。不使用to_number数据应该插入。 – joe