Subscribe Us

miércoles, 15 de agosto de 2012

SQL SERVER - Rellenando Con ceros

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
La solución que encontré, buscando en la ayuda de SQLServer, SQL Server Books Online, fue usar RIGHT como sigue:
1SELECT right'00' cast( 8 AS varchar(2)), 2 )
Que lo que hace es:
  1. Convertir el número a una cadena de caracteres y luego,
  2. Concatenarle la cadena de ‘00‘ para después,
  3. 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' ) 


Y eso es todo…

    Choose :
  • OR
  • To comment