Me habia surgido la duda de como implementar la funcion LPAD de oracle, esa función que permite agregar caracteres comodines sobre un campo consultado.
Bueno lo que realmente hice no implica propiamente una implementación de esa función, sino mas bien como salir del paso y obtener el valor deseado. Tenía un campo númerico al que necesitaba devolverlo como una cadena de caracteres, el campo podia contener hasta dos dígitos, por tanto, si era de un solo digito anteponer el número 0, de tal modo que quede así:
01
02
03
…
09
10
11
…
99
02
03
…
09
10
11
…
99
La solución que encontré, buscando en la ayuda de SQLServer, SQL Server Books Online, fue usar RIGHT como sigue:
1 | SELECT right ( '00' + cast ( 8 AS varchar (2)), 2 ) |
Que lo que hace es:
- Convertir el número a una cadena de caracteres y luego,
- Concatenarle la cadena de ‘00‘ para después,
- Obtener sólo la cantidad de caracteres que necesitamos, en nuestro caso 2.
OTRA ALTERNATIVA
- Rellenar con Ceros
declare @myint int
set @myint = 234
select replicate ('0',(10 - len(@myint))) + convert(varchar, @myint)
-- Segunda opción
select Replace ( str ( datepart(mm, getdate()), 2), ' ', '0' )
declare @myint int
set @myint = 234
select replicate ('0',(10 - len(@myint))) + convert(varchar, @myint)
-- Segunda opción
select Replace ( str ( datepart(mm, getdate()), 2), ' ', '0' )