Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Ponerle ceros a la columna segun el length

Estas en el tema de Ponerle ceros a la columna segun el length en el foro de SQL Server en Foros del Web. hola!! tengo una tabla , donde tiene una columna "Codigo" (que son 0,1,2,...) que es varchar(porque no me deja pasar varchar a numeric). El codigo ...
  #1 (permalink)  
Antiguo 22/02/2007, 08:12
 
Fecha de Ingreso: noviembre-2006
Mensajes: 48
Antigüedad: 17 años, 5 meses
Puntos: 0
Ponerle ceros a la columna segun el length

hola!!
tengo una tabla , donde tiene una columna "Codigo" (que son 0,1,2,...) que es varchar(porque no me deja pasar varchar a numeric). El codigo tiene maximo 4 digitos.
La cuestion es que tengo que arreglar la base de datos, porque la columna de codigo aparece asi:

0 0000
1 0001
2 y yo quiero asi: 0002
3 0003
4 0004
5 0005
6 0006

entonces, quiero que si el length del codigo es 1, se le ponga 3 ceros, si el length es de 2, se le ponga 2 ceros, y si es de 3, se le ponga 1 cero.

como puedo hacer eso???

he intentado : UPDATE SET Codigo='0'Codigo where Codigo='_'Codigo
UPDATE SET Codigo='00'Codigo where Codigo='__'Codigo
UPDATE SET Codigo='000'Codigo where Codigo='___'Codigo

pero no me hace nada, es que no tengo ni idea de como hacer. Alguien me podria ayudar??
  #2 (permalink)  
Antiguo 22/02/2007, 08:30
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Ponerle ceros a la columna segun el length

Código:
update [Mitabla]
SET Codigo = right('0000' + Codigo,4)
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.

Última edición por Andres95; 22/02/2007 a las 17:50
  #3 (permalink)  
Antiguo 22/02/2007, 17:20
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Re: Ponerle ceros a la columna segun el length

Andres95, creo q lo que queria era algo asi

Cita:
update mitabla
set campo = (replicate( '0', (4 - len(campo)) ) + convert( varchar, campo) )
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #4 (permalink)  
Antiguo 22/02/2007, 17:38
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Ponerle ceros a la columna segun el length

ambos producen el mismo resultado....
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.

Última edición por Andres95; 22/02/2007 a las 17:51
  #5 (permalink)  
Antiguo 23/02/2007, 14:34
 
Fecha de Ingreso: noviembre-2006
Mensajes: 48
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Ponerle ceros a la columna segun el length

gracias a los dos!!!
funcionan correctamente!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:59.