Faktisk kan du caste NULL
til int, du kan bare ikke caste en tom streng til int. Forudsat at du vil have NULL i den nye kolonne hvis data1
indeholder en tom streng eller NULL, kan du gøre noget som dette:
UPDATE table SET data2 = cast(nullif(data1, '') AS int);
Hvis du ønsker en anden logik, kan du f.eks. bruge (tom streng konverterer til -1):
UPDATE table SET data2 = CASE WHEN data1 = '' THEN -1 ELSE cast(data1 AS int) END;