sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man castar från text till int om kolumnen innehåller både int- och NULL-värden i PostgreSQL

Du kan faktiskt casta NULL till int, du kan bara inte kasta en tom sträng till int. Förutsatt att du vill ha NULL i den nya kolumnen om data1 innehåller en tom sträng eller NULL, kan du göra något så här:

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

Om du vill ha någon annan logik kan du till exempel använda (tom sträng konverterar till -1):

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



  1. Hur man skapar en ssh-tunnel i ruby ​​och sedan ansluter till mysql-servern på fjärrvärden

  2. Ansluter MySQL Azure med Java

  3. Lägga till fler datalager till Microsoft Power BI

  4. Hur man jämför numeriska värden i samma kolumner för flera kolumner med Oracle SQL