SoloCodigo

Bases de Datos => SQL Server => Mensaje iniciado por: andresql en Lunes 18 de Julio de 2005, 18:44

Título: Ceros A La Izquierda
Publicado por: andresql en Lunes 18 de Julio de 2005, 18:44
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
Título: Re: Ceros A La Izquierda
Publicado por: JuanK en Lunes 18 de Julio de 2005, 19:21
<!--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-->
Título: Re: Ceros A La Izquierda
Publicado por: wsilvius en Martes 9 de Agosto de 2005, 18:11
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.
Título: Re: Ceros A La Izquierda
Publicado por: JuanK en Martes 9 de Agosto de 2005, 21:20
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.
Título: Re: Ceros A La Izquierda
Publicado por: wsilvius en Miércoles 10 de Agosto de 2005, 00:00
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)..?
Título: Re: Ceros A La Izquierda
Publicado por: JuanK en Miércoles 10 de Agosto de 2005, 02:20
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.
Título: Re: Ceros A La Izquierda
Publicado por: ozegarra en Miércoles 26 de Diciembre de 2007, 23:27
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