Ve skutečnosti můžete přenést NULL
to int, prostě nemůžete přehodit prázdný řetězec na int. Za předpokladu, že chcete v novém sloupci data1
hodnotu NULL obsahuje prázdný řetězec nebo NULL, můžete udělat něco takového:
UPDATE table SET data2 = cast(nullif(data1, '') AS int);
Pokud chcete nějakou jinou logiku, můžete použít například (prázdný řetězec se převede na -1):
UPDATE table SET data2 = CASE WHEN data1 = '' THEN -1 ELSE cast(data1 AS int) END;