0
にテキスト文字列を置換することができません、私はテーブルが3つの列id
character varying (254)
、val_1 numeric
とval_2 numeric
を含むmy_table
と呼ばれる持っています。次のクエリ:エラー:私のPostgreSQL 9.5データベースにPostgreSQLの
Select id, val_1, val_2 from my_table limit 4;
リターン4つのサンプル行:
Alter table my_table alter column id type integer using id::integer;
しかし、私はこのエラーを取得する:
id val_1 val_2
1147_1 72 61
1228_1 73 67
1255_1 74 68
1337_1 79 66
は、私はこのように私が試したid
列のデータ型を変更したいです:
ERROR: invalid input syntax for integer: "1147_1"
これら""
を取り除くために、私が試した:
Update my_table set id = replace(id, '"','');
をクエリが正常に戻りました。しかし、私は再びデータ型を変更しようとしたときに同じエラーが発生しますERROR: invalid input syntax for integer: "1147_1"
。誰かが私にこの問題を解決するのを助けることができますか?私はreplace()
コマンドを正常に実行しても同じエラーが発生し続ける理由を理解できません。
'1147_1' **は有効な整数ではありません。どのように変換したいですか? '1147'か' 11471'か? – klin
その場合、substring()コマンドを使って番号を抽出できると思います。ソートの目的でデータ型を変更したかったのです。 –