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

como quitar los ceros de la izquierda de un varchar

Estas en el tema de como quitar los ceros de la izquierda de un varchar en el foro de SQL Server en Foros del Web. hola ojala me puedan ayudar como quitar los ceros de la izquierda de un varchar tengo una tabla ej tabla1 y otra tabla2 tabla1.numero='000000000123' y ...
  #1 (permalink)  
Antiguo 09/08/2006, 11:26
 
Fecha de Ingreso: agosto-2003
Ubicación: talcahuano
Mensajes: 39
Antigüedad: 20 años, 9 meses
Puntos: 0
como quitar los ceros de la izquierda de un varchar

hola ojala me puedan ayudar

como quitar los ceros de la izquierda de un varchar
tengo una tabla ej tabla1 y otra tabla2

tabla1.numero='000000000123' y tabla2.referencia='123'


yo tengo k asociar las tablas mediante esos campos y es necesario quitarle los ceros de la izquierda para poder enlazarlos

oka chao
gracias
  #2 (permalink)  
Antiguo 09/08/2006, 11:27
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
si estas seguro que los dos representan numeros, puedes hacerle un cast o convert a int... en la comparacion
  #3 (permalink)  
Antiguo 09/08/2006, 11:34
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Lo más sencillo:

Convert(Int, campo_con_ceros)

Y de paso lo convertirá a entero que es de ejecución mucho más rápida.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 17/10/2006, 12:11
 
Fecha de Ingreso: junio-2005
Mensajes: 2
Antigüedad: 18 años, 10 meses
Puntos: 0
Hola, sobre esta duda ¿como puedo hacer el proceso sin CONVERT ni CAST?? es que tengo casi el mismo problema, solo que en el campo donde estan los ceros que no necesito (00000123) hay valores que NO son numéricos (12345678-9) y por lo tanto el CAST o CONVERT me fallan
  #5 (permalink)  
Antiguo 17/10/2006, 12:32
 
Fecha de Ingreso: agosto-2003
Ubicación: talcahuano
Mensajes: 39
Antigüedad: 20 años, 9 meses
Puntos: 0
Cita:
Iniciado por javierrockstar Ver Mensaje
Hola, sobre esta duda ¿como puedo hacer el proceso sin CONVERT ni CAST?? es que tengo casi el mismo problema, solo que en el campo donde estan los ceros que no necesito (00000123) hay valores que NO son numéricos (12345678-9) y por lo tanto el CAST o CONVERT me fallan
cortalo con la funcion

right('00000123654-7',8);

con esa funcion dejas sin ceros
esa t corta el string de derecha a izquierda contando 8 caracteres
ok
  #6 (permalink)  
Antiguo 17/10/2006, 13:31
 
Fecha de Ingreso: octubre-2006
Mensajes: 36
Antigüedad: 17 años, 6 meses
Puntos: 0
A ver si esto te sirve

replicate('0', LEN(Tabla2.Numero) - LEN(Tabla1.Referencia)) + Tabla2.Referencia = Tabla1.Numero

Con esto no te importara si es entero o no.
  #7 (permalink)  
Antiguo 17/10/2006, 13:47
 
Fecha de Ingreso: octubre-2006
Mensajes: 36
Antigüedad: 17 años, 6 meses
Puntos: 0
Más bien
replicate('0', LEN(Tabla2.Numero) - LEN(Tabla1.Referencia)) + Tabla1.Referencia = Tabla2.Numero

Las prisas, ejem.
  #8 (permalink)  
Antiguo 17/10/2006, 13:49
 
Fecha de Ingreso: octubre-2006
Mensajes: 36
Antigüedad: 17 años, 6 meses
Puntos: 0
Un último intento

replicate('0', LEN(Tabla1.Numero) - LEN(Tabla2.Referencia)) + Tabla2.Referencia = Tabla1.Numero

Puedo hacerlo peor :D
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:06.