SoloCodigo
Bases de Datos => SQL Server => Mensaje iniciado 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
-
<!--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-->
-
<!--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.
-
<!--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.
-
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)..?
-
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.
-
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