Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Formatear números con ceros a la izquieda

835 views
Skip to first unread message

José Antonio Muñoz

unread,
Mar 12, 2010, 7:13:03 AM3/12/10
to
Hola al grupo,

¿existe alguna función en Sql Server 2008, parecida a CONVERT o STR, que
convierta un número entero en texto formateado con ceros a la izquieda?

Ejemplo:

El número 23 formateado a 4 dígitos daría como resultado 0023

saludos,
José Antonio Muñoz.

Alejandro Mesa

unread,
Mar 12, 2010, 9:44:01 AM3/12/10
to
José Antonio Muñoz,

Eso dependera del tamaño final del formato. Por ejemplo si deseas un # con
10 posiciones, entonces puedes usar:

-- formatear el # @i
-- con diez posiciones y rellenar con ceros a la izquierda
declare @i int;
declare @j int;

set @i = 23;
set @j = 10;

select right(replicate('0', @j) + ltrim(@i), @j);
GO


AMB


"José Antonio Muñoz" wrote:

> .
>

José Antonio Muñoz

unread,
Mar 15, 2010, 3:43:23 AM3/15/10
to
Es decir que me podría crear una función, por ejemplo "FormatCero", con el
código que me has puesto de ejemplo ya que sql server no dispone de dicha
función.

saludos,
José Antonio Muñoz.

"Alejandro Mesa" <Alejan...@discussions.microsoft.com> escribió en el
mensaje de noticias
news:E0633FFB-37FA-4C11...@microsoft.com...

Miguel Egea

unread,
Mar 15, 2010, 7:16:19 AM3/15/10
to
Jose Antonio, aunque como te dice Alejandro se puede, no quiere decir que
sea lo adecuado. Si haces eso tienes que devolver un string y no un numero..
igual lo suyo sería que lo hiciese la herramienta cliente y no manipular los
datos..

dicho esto. la función que buscas es esta


use tempdb
go
create function FormateaconCeros (@num int,@cuantosCeros int) returns
nvarchar(100)
as
begin
return right(replicate('0',@cuantosceros)+cast(@num as
nvarchar(100)),@cuantosCeros)
end

select dbo.FormateaConCeros(10,5);
select dbo.FormateaConCeros(5,5)

--
Saludos Cordiales
Miguel Egea
Solid Quality Mentos
http://www.portalsql.com

"José Antonio Muñoz" <josean...@hotmail.com> escribió en el mensaje de
noticias:#GKKLNBx...@TK2MSFTNGP06.phx.gbl...

0 new messages