AddThis Social Bookmark Button

Algo que nos ha dado un dolor de cabeza a muchos, es saber como completar un string con un parametro personalizado, de hecho no se si el titulo este correcto, pero bueno, la idea fundamental es hacer lo siguiente:

 Strign inicial =  " 10 "

String final =  " 00010 "

El detalle es... como hacerlo atravez de las diferentes instancias de  SQL, ahi va el problema entre las instrucciones de autocompletado, veamos unas cuantas.

Mysql

Rellenamos lado izquierdo con la instruccion LPAD

select lpad ( cadena, numero de repeticiones,  elemento a repetir )

lpad ( '1' , 6 , '0')

El resultado de lo anterior en aplicado seria que si tenemos 1, y aplicamos  lpad nos devolvera  000001

Si queremos relleno al lado derecho solo cambiamos por RPAD y tendriamos  100000

 

Sql server 2000

Aqui el proceso es un poquito mas complicado, puesto que primero hay que comparar para crear las repeticiones y despues concatenar la variable, pero para hacer las repeticiones debe ser replicate.

replicate ( caracter,  numero de repeticiones)

select replicate ( 0, 10)

Para lo cual tenemos que  vamos a repetir el 0, mmm, unas  10 veces, entonces  utilizando el replicate nos devolvera algo asi 0000000000.

Ya si queremos rellenar a la izquierda sera algo mas laborioso, de hecho poquito:

select replicate('0', 10 - len('cadena') ) + 'cadena'

Lo cual nos habra de devolver 0000cadena

 

SQL / PL  (Oracle)

Este es similar a mysql pero aqui debemos agregar un termino para consultas solas, es decir debemos ponerle FROM DUAL, la tabla virtual para consultas que no apuntan a una db.

lpad( cadena, cantidad,  elemento)

select lpad ('1', 6, '0') from dual

Con lo que tenemos que nos devolverá  si cadena es 1,   000001

De igual forma si queremos del lado derecho va  RPAD

 

*Si tu conoces alguna otra forma, mandala por correo para complementar esta nota y que todos sepamos mas formas para realizar estas instrucciones que son un verdadero dolor de cabeza.

 

 

Leave your comments

0
  • No comments found