2017-06-02 243 views
0

我有一個字符串'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. 

有沒有辦法做到這一點。

+1

它應該工作,即使沒有to_number只是通過使用substr('Q1-96',2,1)。你的插入語句在整體中看起來像什麼?你確定這是產生錯誤的值嗎? – Rene

+0

請向我們展示**完整的**插入語句(** [編輯] **您的問題 - 請不要**發佈代碼或註釋中的其他信息) –

+0

大家好!對不起,這個問題。正如我檢查,在一個領域的數據是'APR-16'這是造成這個問題。你們都是對的。不使用to_number數據應該插入。 – joe

回答

0

爲什麼你甚至需要使用to_number

SQL> insert into tbl1 select substr('Q1-96',2,1) from dual; 

SQL> select * from tbl1; 

    NUM 
    ----- 
    1 
+0

感謝您的回覆!這是我的錯誤。這實際上是一些領域的數據問題。 – joe