2017-06-02 1 views
0

私には文字列があります。文字列を数値に変換します

この場合、四分の一、つまり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

substr( 'Q1-96'、2,1)を使用するだけでto_numberがなくても動作するはずです。あなたのinsert文は完全にどのように見えますか?これがエラーを生成する値であると確信していますか? – Rene

+0

**完全な**挿入ステートメント(** [編集] **あなたの質問 - do ** **投稿コードまたはコメントの追加情報)を表示してください –

+0

こんにちは皆!!申し訳ありません、質問のために。私が確認したように、1つのフィールドでデータは問題を引き起こしていた「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

関連する問題