Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/01/2013, 12:10
leo_acn
 
Fecha de Ingreso: diciembre-2012
Mensajes: 83
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Consulta sobre transformar datos en Sql Server 2005

create table prueba(
rut nvarchar(20))

insert into prueba (rut) values ('17.341.280-6')
insert into prueba (rut) values ('1458654-k')
insert into prueba (rut) values ('1458654')
insert into prueba (rut) values ('4582254-K')
insert into prueba (rut) values ('21.585.585-4')
insert into prueba (rut) values ('5896654-k')

update prueba set rut = 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

select * from prueba


Funciona perfectamente, ve si tenias datos en la tabla antes de hacer el update!