[解決済み] PostgreSQL 8.4でカラムのデータ型を文字から数値に変更する方法
2022-05-26 07:34:26
質問
私は以下のクエリを使用しています。
ALTER TABLE presales ALTER COLUMN code TYPE numeric(10,0);
からカラムのデータ型を変更するために
character(20)
から
numeric(10,0)
に変更しましたが、エラーが発生します。
列の "code" を数値型にキャストすることはできません。
どのように解決するのですか?
あなたは
USING
:
オプションの
USING
節は、古いカラムの値から新しいカラムの値を計算する方法を指定します。省略された場合、デフォルトの変換は古いデータ型から新しいデータ型への代入キャストと同じになります。AUSING
節は、古いデータ型から新しいデータ型への暗黙のまたは代入キャストが存在しない場合に提供されなければなりません。
というわけで、これは(データによっては)うまくいくかもしれません。
alter table presales alter column code type numeric(10,0) using code::numeric;
-- Or if you prefer standard casting...
alter table presales alter column code type numeric(10,0) using cast(code as numeric);
の中に何かあると失敗します。
code
に数値にキャストできないものがある場合、これは失敗します。USINGが失敗した場合、列の型を変更する前に、非数値データを手作業でクリーンアップする必要があります。
関連
-
PostgreSQLのJSONBのマッチングと交差の問題について
-
postgresql 重複データ削除 ケーススタディ
-
[解決済み] psql: FATAL: データベース "<user>" が存在しない
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] PostgreSQLのユーザーパスワードを変更する方法を教えてください。
-
[解決済み] PostgreSQLからのPL/pgSQL出力をCSVファイルに保存する
-
[解決済み] Postgres で、あるデータベースから別のデータベースにテーブルをコピーする
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
-
[解決済み】PostgresqlデータベースでNULLを許可しないカラムを追加するにはどうすればよいですか?
-
[解決済み] 拡張機能は存在するが、uuid_generate_v4 が失敗する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Postgresqlへのリモートアクセスの設定方法(ファイアウォールの設定またはOFFが必要です。)
-
PostgreSQLでデータの一括インポートのパフォーマンスを向上させるn個の方法を説明します。
-
pgAdmin for postgreSQLでサーバーのデータをバックアップする方法
-
oracle_fdwを介してOracleデータにアクセスするためのPostgreSQLの手順
-
[解決済み] PostgreSQLの場合。PostgreSQLのテーブルを表示する
-
[解決済み] psqlでデータベースを切り替えるには?
-
[解決済み] Postgres / PostgreSQLのテーブルとインデックスのディスクサイズはどのように見つけるのですか?
-
[解決済み] PostgreSQL用GUIツール【終了】のお知らせ
-
[解決済み] Postgresqlで「挿入無視」と「重複キー更新」(SQLマージ)をエミュレートする方法は?
-
[解決済み] Postgresql。条件付き一意性制約