Funciones definidas por usuario

19/07/2006 - 16:44 por JorgeB | Informe spam
Hola a todos!

Tengo una funcion definida por el usuario en la que solo necesito que se
haga algo como una concatenacion de dos cadenas que paso como parametros,
pero el resultado de esta funcion es solo el primer caracter de la primera
cadena que paso como parametro.

Alguien me podria decir cual es el problema.

Les anexo la funcion para que la puedan revisar y me digan que estoy
haciendo mal

de antemano muchas gracias

Saludos

CREATE Function dbo.ClaveColorCarga(@Numparte varchar(20), @ClaveCarga
varchar(5))
RETURNS varchar(25)
BEGIN
Declare @Valor varchar

If Len(@Numparte) > 9 and Len(@Numparte) < 13
Set @Valor= @Numparte + replicate(' ',12 - Len(@Numparte)) + @ClaveCarga
Else Set @Valor = @Numparte

Return (@Valor)
END

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
19/07/2006 - 16:57 | Informe spam
JorgeB,

Alguien me podria decir cual es el problema.

Declare @Valor varchar



Si no pones la longitud, entonces SQL Server asume 1.


AMB


"JorgeB" wrote:

Hola a todos!

Tengo una funcion definida por el usuario en la que solo necesito que se
haga algo como una concatenacion de dos cadenas que paso como parametros,
pero el resultado de esta funcion es solo el primer caracter de la primera
cadena que paso como parametro.

Alguien me podria decir cual es el problema.

Les anexo la funcion para que la puedan revisar y me digan que estoy
haciendo mal

de antemano muchas gracias

Saludos

CREATE Function dbo.ClaveColorCarga(@Numparte varchar(20), @ClaveCarga
varchar(5))
RETURNS varchar(25)
BEGIN
Declare @Valor varchar

If Len(@Numparte) > 9 and Len(@Numparte) < 13
Set @Valor= @Numparte + replicate(' ',12 - Len(@Numparte)) + @ClaveCarga
Else Set @Valor = @Numparte

Return (@Valor)
END
Respuesta Responder a este mensaje
#2 JorgeB
19/07/2006 - 17:06 | Informe spam
Muchas gracias alejandro funciono sin problema

"Alejandro Mesa" escribió:

JorgeB,

> Alguien me podria decir cual es el problema.

> Declare @Valor varchar

Si no pones la longitud, entonces SQL Server asume 1.


AMB


"JorgeB" wrote:

> Hola a todos!
>
> Tengo una funcion definida por el usuario en la que solo necesito que se
> haga algo como una concatenacion de dos cadenas que paso como parametros,
> pero el resultado de esta funcion es solo el primer caracter de la primera
> cadena que paso como parametro.
>
> Alguien me podria decir cual es el problema.
>
> Les anexo la funcion para que la puedan revisar y me digan que estoy
> haciendo mal
>
> de antemano muchas gracias
>
> Saludos
>
> CREATE Function dbo.ClaveColorCarga(@Numparte varchar(20), @ClaveCarga
> varchar(5))
> RETURNS varchar(25)
> BEGIN
> Declare @Valor varchar
>
> If Len(@Numparte) > 9 and Len(@Numparte) < 13
> Set @Valor= @Numparte + replicate(' ',12 - Len(@Numparte)) + @ClaveCarga
> Else Set @Valor = @Numparte
>
> Return (@Valor)
> END
Respuesta Responder a este mensaje
#3 Noldis Chumacero
19/07/2006 - 17:15 | Informe spam
JorgeB,

En la declaración, tienes que ingresar el tamaño del Varchar

RETURNS varchar(25)
BEGIN
Declare @Valor varchar




por la cantidad de caracteres que ocupará, por ejemplo

RETURNS varchar(25)
BEGIN
Declare @Valor varchar(25)





Ing. Noldis Chumacero Ch.
Dpto. Sistemas, AeroSur.
Santa Cruz de la Sierra - Bolivia

"JorgeB" escribió en el mensaje
news:
Hola a todos!

Tengo una funcion definida por el usuario en la que solo necesito que se
haga algo como una concatenacion de dos cadenas que paso como parametros,
pero el resultado de esta funcion es solo el primer caracter de la primera
cadena que paso como parametro.

Alguien me podria decir cual es el problema.

Les anexo la funcion para que la puedan revisar y me digan que estoy
haciendo mal

de antemano muchas gracias

Saludos

CREATE Function dbo.ClaveColorCarga(@Numparte varchar(20), @ClaveCarga
varchar(5))
RETURNS varchar(25)
BEGIN
Declare @Valor varchar

If Len(@Numparte) > 9 and Len(@Numparte) < 13
Set @Valor= @Numparte + replicate(' ',12 - Len(@Numparte)) + @ClaveCarga
Else Set @Valor = @Numparte

Return (@Valor)
END
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida