CREATE FUNCTION dbo.ProcesarCadena ( @cadena NVARCHAR(255), @numero INT ) RETURNS NVARCHAR(255) AS BEGIN DECLARE @longitud INT; DECLARE @digito1 INT; DECLARE @digito2 INT; DECLARE @suma INT; DECLARE @resultado NVARCHAR(255); SET @longitud = LEN(@cadena); IF @longitud < 4 OR @numero < 10 OR @numero > 99 BEGIN SET @resultado = 'NO SE CUMPLE CON LOS REQUISITOS MINIMOS'; END ELSE BEGIN SET @digito1 = @numero / 10; SET @digito2 = @numero % 10; SET @suma = @digito1 + @digito2; IF @suma % 2 = 0 BEGIN SET @resultado = UPPER(LEFT(@cadena, 1)) + LOWER(SUBSTRING(@cadena, 2, @longitud - 2)) + UPPER(RIGHT(@cadena, 1)); END ELSE BEGIN SET @resultado = LOWER(LEFT(@cadena, 1)) + UPPER(SUBSTRING(@cadena, 2, @longitud - 2)) + LOWER(RIGHT(@cadena, 1)); END END RETURN @resultado; END SELECT dbo.ProcesarCadena('ejemplo', 35) AS Resultado;