sql >> Databáze >  >> RDS >> PostgreSQL

Jak přetypovat z textu na int, pokud sloupec obsahuje hodnoty int i NULL v PostgreSQL

Ve skutečnosti můžete přenést NULL to int, prostě nemůžete přehodit prázdný řetězec na int. Za předpokladu, že chcete v novém sloupci data1 hodnotu NULL obsahuje prázdný řetězec nebo NULL, můžete udělat něco takového:

UPDATE table SET data2 = cast(nullif(data1, '') AS int);

Pokud chcete nějakou jinou logiku, můžete použít například (prázdný řetězec se převede na -1):

UPDATE table SET data2 = CASE WHEN data1 = '' THEN -1 ELSE cast(data1 AS int) END;



  1. Vyberte N-tý řádek z tabulky v Oracle

  2. Mysql - 1045 - Přístup odepřen pro uživatele 'user'@'localhost' (pomocí hesla:Ano)

  3. Jak nahradit ' nebo jakýkoli speciální znak při použití XMLELEMENT Oracle

  4. hibernate + mysql + načíst data do souboru