Respuesta: Consulta sobre transformar datos en Sql Server 2005 Ya se porque te aparecen como NULL, cuando ejecutas la consulta mas de una vez te los cambia porque no esta el case para cuando te de el largo de 10 como lo quieres, ahora si hazlo todo otra vez con este update y ya no tendrás problemas ;)
update prueba2 set rut = case when len(replace(replace(rut,'.',''),'-','')) = 10 then replace(replace(rut,'.',''),'-','')
else case when len(replace(replace(rut,'.',''),'-','')) = 9 then '0' + replace(replace(rut,'.',''),'-','')
else case when len(replace(replace(rut,'.',''),'-','')) = 8 then '00' + replace(replace(rut,'.',''),'-','')
else case when len(replace(replace(rut,'.',''),'-','')) = 7 then '000' + replace(replace(rut,'.',''),'-','')
else case when len(replace(replace(rut,'.',''),'-','')) = 6 then '0000' + replace(replace(rut,'.',''),'-','') end end end end end
Saludos. |