Formatear campo

09/02/2006 - 19:51 por Julio Briceño | Informe spam
Saludos Cordiales,

Cómo puedo formatear un campo char para que me retorne con ceros en los
lugares donde no hay datos, ejemplo, si tengo la tabla:

tabla
-
campo 1
000001
000002

la consulta:

select top 1 campo = campo + 1 from tabla order by campo desc

me devuelve 3, cuando quiero que me devuelva 00003

Hasta luego y gracias de antemano,

Preguntas similare

Leer las respuestas

#1 Isaias
09/02/2006 - 20:24 | Informe spam
¿Que tipo de dato es tu columna?

Aqui un ejemplo:

select Replace ( str ( datepart(mm, getdate()), 2), ' ', '00000' )

Saludos
IIslas


"Julio Briceño" escribió:

Saludos Cordiales,

Cómo puedo formatear un campo char para que me retorne con ceros en los
lugares donde no hay datos, ejemplo, si tengo la tabla:

tabla
-
campo 1
000001
000002

la consulta:

select top 1 campo = campo + 1 from tabla order by campo desc

me devuelve 3, cuando quiero que me devuelva 00003

Hasta luego y gracias de antemano,


Respuesta Responder a este mensaje
#2 Maxi
09/02/2006 - 20:50 | Informe spam
Hola, esto no se debe realizar desde la bdd, sino que es una responsabilidad
de la capa de presentacion.

Que sucede si varios clientes piden distintos formatos? vas a tener un SP's
por cada uno?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Julio Briceño" escribió en el
mensaje news:
Saludos Cordiales,

Cómo puedo formatear un campo char para que me retorne con ceros en los
lugares donde no hay datos, ejemplo, si tengo la tabla:

tabla
-
campo 1
000001
000002

la consulta:

select top 1 campo = campo + 1 from tabla order by campo desc

me devuelve 3, cuando quiero que me devuelva 00003

Hasta luego y gracias de antemano,


Respuesta Responder a este mensaje
#3 Julio Briceño
09/02/2006 - 21:41 | Informe spam
Caso:

Tabla X tiene un consecutivo (X1), es '0001', '0002', etc nvarchar(6)

Necesito insertar un nuevo registro en X. Primero busco el valor nuevo para
XI con:

declare NUEVOX as nvarchar(6)

select NUEVOX = X1 + 1 from X order by X1 desc

Luego ingreso:

insert into X (NUEVOX)

Pero NUEVOX debe estar completado por ceros

¿Cómo debo hacerlo?





"Maxi" escribió:

Hola, esto no se debe realizar desde la bdd, sino que es una responsabilidad
de la capa de presentacion.

Que sucede si varios clientes piden distintos formatos? vas a tener un SP's
por cada uno?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Julio Briceño" escribió en el
mensaje news:
> Saludos Cordiales,
>
> Cómo puedo formatear un campo char para que me retorne con ceros en los
> lugares donde no hay datos, ejemplo, si tengo la tabla:
>
> tabla
> -
> campo 1
> 000001
> 000002
>
> la consulta:
>
> select top 1 campo = campo + 1 from tabla order by campo desc
>
> me devuelve 3, cuando quiero que me devuelva 00003
>
> Hasta luego y gracias de antemano,
>
>



Respuesta Responder a este mensaje
#4 Maxi
09/02/2006 - 21:52 | Informe spam
Hola, leete este link

http://www.microsoft.com/spanish/ms...art187.asp


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Julio Briceño" escribió en el
mensaje news:
Caso:

Tabla X tiene un consecutivo (X1), es '0001', '0002', etc nvarchar(6)

Necesito insertar un nuevo registro en X. Primero busco el valor nuevo
para
XI con:

declare NUEVOX as nvarchar(6)

select NUEVOX = X1 + 1 from X order by X1 desc

Luego ingreso:

insert into X (NUEVOX)

Pero NUEVOX debe estar completado por ceros

¿Cómo debo hacerlo?





"Maxi" escribió:

Hola, esto no se debe realizar desde la bdd, sino que es una
responsabilidad
de la capa de presentacion.

Que sucede si varios clientes piden distintos formatos? vas a tener un
SP's
por cada uno?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Julio Briceño" escribió en el
mensaje news:
> Saludos Cordiales,
>
> Cómo puedo formatear un campo char para que me retorne con ceros en los
> lugares donde no hay datos, ejemplo, si tengo la tabla:
>
> tabla
> -
> campo 1
> 000001
> 000002
>
> la consulta:
>
> select top 1 campo = campo + 1 from tabla order by campo desc
>
> me devuelve 3, cuando quiero que me devuelva 00003
>
> Hasta luego y gracias de antemano,
>
>



Respuesta Responder a este mensaje
#5 Alejandro Mesa
09/02/2006 - 22:10 | Informe spam
Julio,

declare @i int

set @i = 3

select right(replicate('0', 6) + ltrim(@i), 6)
go


AMB


"Julio Briceño" wrote:

Saludos Cordiales,

Cómo puedo formatear un campo char para que me retorne con ceros en los
lugares donde no hay datos, ejemplo, si tengo la tabla:

tabla
-
campo 1
000001
000002

la consulta:

select top 1 campo = campo + 1 from tabla order by campo desc

me devuelve 3, cuando quiero que me devuelva 00003

Hasta luego y gracias de antemano,


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida