Всъщност можете да прехвърлите NULL
към int, просто не можете да прехвърлите празен низ към int. Ако приемем, че искате NULL в новата колона, ако data1
съдържа празен низ или NULL, можете да направите нещо подобно:
UPDATE table SET data2 = cast(nullif(data1, '') AS int);
Ако искате някаква друга логика, можете да използвате например (празният низ се преобразува в -1):
UPDATE table SET data2 = CASE WHEN data1 = '' THEN -1 ELSE cast(data1 AS int) END;