PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So konvertieren Sie eine Tabellenspalte in einen anderen Datentyp

Es hört sich so an, als ob das Problem darin besteht, dass Sie leere Zeichenfolgen in Ihrer Tabelle haben. Sie müssen diese behandeln, wahrscheinlich mit einer case-Anweisung, wie zum Beispiel:

execute %{ALTER TABLE "table1" ALTER COLUMN columnB TYPE integer USING CAST(CASE columnB WHEN '' THEN NULL ELSE columnB END AS INTEGER)}

Update:komplett neu geschrieben basierend auf aktualisierter Frage.