Właściwie możesz rzutować NULL
na int, po prostu nie możesz rzucić pustego ciągu na int. Zakładając, że chcesz NULL w nowej kolumnie, jeśli data1
zawiera pusty ciąg lub NULL, możesz zrobić coś takiego:
UPDATE table SET data2 = cast(nullif(data1, '') AS int);
Jeśli potrzebujesz innej logiki, możesz użyć na przykład (pusty ciąg zamienia się na -1):
UPDATE table SET data2 = CASE WHEN data1 = '' THEN -1 ELSE cast(data1 AS int) END;