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
 

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

Preguntas similares