PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como converter de texto para int se a coluna contiver valores int e NULL no PostgreSQL


Na verdade, você pode converter NULL para int, você simplesmente não pode converter uma string vazia para int. Supondo que você queira NULL na nova coluna se data1 contém uma string vazia ou NULL, você pode fazer algo assim:
UPDATE table SET data2 = cast(nullif(data1, '') AS int);

Se você quiser alguma outra lógica, você pode usar, por exemplo (string vazia converte para -1):
UPDATE table SET data2 = CASE WHEN data1 = '' THEN -1 ELSE cast(data1 AS int) END;