Na verdade, você pode converter
NULL
para int, você simplesmente não pode converter uma string vazia para int. Supondo que você queira NULL na nova coluna se data1
contém uma string vazia ou NULL, você pode fazer algo assim:UPDATE table SET data2 = cast(nullif(data1, '') AS int);
Se você quiser alguma outra lógica, você pode usar, por exemplo (string vazia converte para -1):
UPDATE table SET data2 = CASE WHEN data1 = '' THEN -1 ELSE cast(data1 AS int) END;