Formato con T-SQL

29/07/2003 - 23:19 por Saga | Informe spam
Saludos!

Uso VB6 con SQL Server

Tengo problemas al darle formato a un dato numerico, les explico mejor.
Tengo un reporte en CR7 donde debo traer un dato compuesto. El dato
original puede ser de 4 o cinco digitos, yo lo nccesito de cinco digitos
siempre, anexando un 0 (cero) asi:

Si el dato es 1234, el dato compuesto debe ser 01234

Ademas, debo agregar un prefijo y sufijo alfabetico, ejemplos son:

E01234S y A03456B

El prefijo y sufijo lo hago con CASE dentro del select, pero no he
podido determinar como hacer que el dato numerico siempre sea de
5 digitos.

El SQL (simplificado) esta algo asi:

Select CASE... ...END + cast(NumOrden as varchar(25)) + CASE... ...END,
(otros campos) from tblPedidos
where id=(algun numero)

Espero alguien me pueda orientar. De antemano, gracias!!

Saga

Preguntas similare

Leer las respuestas

#1 José Trinidad [El Tiko]
30/07/2003 - 01:16 | Informe spam
Salu2!

Te Paso un Tip... :-)

Si los prefijos son siempre los mismos puedes usar el formato del Campo,
especificas que va a usar el simbolo de Moneda, y quitas el $ y estableces
A045 por ejemplo, es limitado por la cantidad de caracteres pero te evita
usar formulas, que es el otro camino que puedes usar para Agregar Sufijos o
Prefijos a los valores de tu Tabla...

Suerte!!!

Att.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
José Trinidad García M. <El Tiko>
(Guía de buen uso del foro)
http://perso.wanadoo.es/rubenvigon/foro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Respuesta Responder a este mensaje
#2 Julio C. Briceño R.
30/07/2003 - 02:54 | Informe spam
Saludos,

Amigo, si lo único que deseas es mostrar el campo de forma
diferente, ¿por qué no dejas que Crsytal Reports haga eso
en el cliente? y si utilizas RDC (Crystal, dentro de VB),
¿por qué no lo haces con Vb y si lo pasas a través de las
propiedades del RDC?

Como recomendación, haz en el servidor lo que no puedas
hacer en el cliente.

y formatear el Vb es facilito con ifs selects y format

Espero haberle ayudado, suerte

Hasta luego,

Julio C. Briceño R.
Caracas, Venezuela
C.I. V13952301
Analista de Sistemas


Saludos!

Uso VB6 con SQL Server

Tengo problemas al darle formato a un dato numerico, les


explico mejor.
Tengo un reporte en CR7 donde debo traer un dato


compuesto. El dato
original puede ser de 4 o cinco digitos, yo lo nccesito


de cinco digitos
siempre, anexando un 0 (cero) asi:

Si el dato es 1234, el dato compuesto debe ser 01234

Ademas, debo agregar un prefijo y sufijo alfabetico,


ejemplos son:

E01234S y A03456B

El prefijo y sufijo lo hago con CASE dentro del select,


pero no he
podido determinar como hacer que el dato numerico siempre


sea de
5 digitos.

El SQL (simplificado) esta algo asi:

Select CASE... ...END + cast(NumOrden as varchar(25)) +


CASE... ...END,
(otros campos) from tblPedidos
where id=(algun numero)

Espero alguien me pueda orientar. De antemano, gracias!!

Saga


.

Respuesta Responder a este mensaje
#3 Norman A. Armas
30/07/2003 - 15:54 | Informe spam
Mira este ejemplito:

declare @MyNum as Int
set @MyNum9
select right('00000000'+cast(@Mynum as varchar),8)

=Saludos,

Norman
Maicrosoft LVP / MOP Certified

http://www.apolloships.com/
-

"Saga" wrote in message
news:%
Saludos!

Uso VB6 con SQL Server

Tengo problemas al darle formato a un dato numerico, les explico mejor.
Tengo un reporte en CR7 donde debo traer un dato compuesto. El dato
original puede ser de 4 o cinco digitos, yo lo nccesito de cinco digitos
siempre, anexando un 0 (cero) asi:

Si el dato es 1234, el dato compuesto debe ser 01234

Ademas, debo agregar un prefijo y sufijo alfabetico, ejemplos son:

E01234S y A03456B

El prefijo y sufijo lo hago con CASE dentro del select, pero no he
podido determinar como hacer que el dato numerico siempre sea de
5 digitos.

El SQL (simplificado) esta algo asi:

Select CASE... ...END + cast(NumOrden as varchar(25)) + CASE... ...END,
(otros campos) from tblPedidos
where id=(algun numero)

Espero alguien me pueda orientar. De antemano, gracias!!

Saga


Respuesta Responder a este mensaje
#4 Saga
30/07/2003 - 16:40 | Informe spam
Gracias a todos por sus contribuciones.

Julio, tienes razon, el problema lo resolvi anexando el prefijo y sufijo
dentro
y la funcion toText para la longitud de la parte numerica de CR utilizando
un
if then else. Antes, el reporte tomaba los datos de una tabla Access y el
SQL
dentro del query usaba la funcion iif y format para darle formato.

Jose, el prefijo puede variar. Ademas, el campo donde esta el numero se
usa para busquedas, asi que el agregar el prefijo y sufijo dentro de este
campo no es posible. Aunque pudiera crear otro campo para este proposito,
decidi dejar esta opcion como ultimo recurso.

Norman, gracias por tu sugerencia. Esto es lo que buscaba!!! Despues de
varias horas peleando con esto, logre el formato deseado dentro de CR7.

Una vez mas gracias.
Saga


"Norman A. Armas" wrote in message
news:
Mira este ejemplito:

declare @MyNum as Int
set @MyNum9
select right('00000000'+cast(@Mynum as varchar),8)

=> Saludos,

Norman
Maicrosoft LVP / MOP Certified

http://www.apolloships.com/
-

"Saga" wrote in message
news:%
> Saludos!
>
> Uso VB6 con SQL Server
>
> Tengo problemas al darle formato a un dato numerico, les explico mejor.
> Tengo un reporte en CR7 donde debo traer un dato compuesto. El dato
> original puede ser de 4 o cinco digitos, yo lo nccesito de cinco digitos
> siempre, anexando un 0 (cero) asi:
>
> Si el dato es 1234, el dato compuesto debe ser 01234
>
> Ademas, debo agregar un prefijo y sufijo alfabetico, ejemplos son:
>
> E01234S y A03456B
>
> El prefijo y sufijo lo hago con CASE dentro del select, pero no he
> podido determinar como hacer que el dato numerico siempre sea de
> 5 digitos.
>
> El SQL (simplificado) esta algo asi:
>
> Select CASE... ...END + cast(NumOrden as varchar(25)) + CASE...


...END,
> (otros campos) from tblPedidos
> where id=(algun numero)
>
> Espero alguien me pueda orientar. De antemano, gracias!!
>
> Saga
>
>


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