• Viernes 8 de Noviembre de 2024, 18:49

Autor Tema:  Ceros A La Izquierda  (Leído 13264 veces)

andresql

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Ceros A La Izquierda
« en: Lunes 18 de Julio de 2005, 18:44 »
0
hola buen tengo una tabla en la cual solo tengo un campo el cual es tipo varchar pero necesito que ese campo sea de 11 digitos completado por ceros ejemplo = tengo 555 y necesito 00000000555 pero el cambio lo necesito en todo el campo


agradezco la ayuda que me puedan prestar

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ceros A La Izquierda
« Respuesta #1 en: Lunes 18 de Julio de 2005, 19:21 »
0
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]update[/color] tabla
set campo= lpad(campo,11,'0')
/
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

wsilvius

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Ceros A La Izquierda
« Respuesta #2 en: Martes 9 de Agosto de 2005, 18:11 »
0
Cita de: "JuanK"
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]update[/color] tabla
set campo= lpad(campo,11,'0')
/
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
No funciona el lpad.

Yo propongo:

substring('00000000000',1,(11-len(campo)) + campo

Esto es lo que yo uso desde siempre.

Prueba y nos avisas.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ceros A La Izquierda
« Respuesta #3 en: Martes 9 de Agosto de 2005, 21:20 »
0
Cita de: "wsilvius"
Cita de: "JuanK"
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]update[/color] tabla
set campo= lpad(campo,11,'0')
/
 <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
No funciona el lpad.

Yo propongo:

substring('00000000000',1,(11-len(campo)) + campo

Esto es lo que yo uso desde siempre.

Prueba y nos avisas.
porque no fuinciona?:whistling:
explicacnos porfa porque a mi me funciona y me ha funcioando siempre.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

wsilvius

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Ceros A La Izquierda
« Respuesta #4 en: Miércoles 10 de Agosto de 2005, 00:00 »
0
Debo especificar que yo lo probé en Transact-SQL 2000(lenguaje de programación nativo de SQL Server) y no me funcionó el "lpad", no se si usted lo está utilizando en Visual Basic o algo así (el foro dice Bases de Datos/SQL)..?

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ceros A La Izquierda
« Respuesta #5 en: Miércoles 10 de Agosto de 2005, 02:20 »
0
Cita de: "wsilvius"
Debo especificar que yo lo probé en Transact-SQL 2000(lenguaje de programación nativo de SQL Server) y no me funcionó el "lpad", no se si usted lo está utilizando en Visual Basic o algo así (el foro dice Bases de Datos/SQL)..?
NO :blink:  :oops:


Estoy usando Oracle  :smartass:


si bueno analizare de todas maneras el nombre de este foro, ya que esta claro que es muy usado para SQL Sever aunque sun nombre es de SQL es decir el lenguaje de programacion en general.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ozegarra

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Ceros A La Izquierda
« Respuesta #6 en: Miércoles 26 de Diciembre de 2007, 23:27 »
0
yo siempre use right('00000000000' + campo, 11)

nota: la funcion right (en SQL) te devuelve los primeros caracteres de una cadena hasta el numero pasado como segundo parametro, empezando desde la derecha.

Es decir en el ejemplo, si nuestro campo es '31' nos devolvera  '000000000' + '31' = '00000000031'


Saludos
Oscar