Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, bom dia.
Estou tentando realizar esse cálculo no SQL:
*******************************************************
----CALCULO NA MATEMATICA -----
NUMERO DE ENTRADA: 1 2 3 4
SEQUÊNCIA DE MULTIPLICADORES: 5 4 3 2
RESULTADO: 5+8+9+8 = 30
*******************************************************
só que minha função abaixo esta me retornando 17, teria que me retornar 30, não estou conseguindo
achar onde estou errando, alguém poderia me dar uma luz?
--** FUNÇÃO PARA REALIZAR O CÓDIGO ACIMA **
-- NUMERO DE ENTRADA --
DECLARE @NovoCodUsual NVARCHAR(50)
SET @NovoCodUsual = 1234
--- PEGO O TAMANHO DO NÚMERO DE ENTRADA---
DECLARE @TamanhoDoCodigoSemDigito INTEGER
SET @TamanhoDoCodigoSemDigito = LEN(@NovoCodUsual)
-- CRIO UMA VARIÁVEL SOMATÓRIO ---
DECLARE @Soma INTEGER
SET @Soma = 0
--CRIO UM MULTIPLICADOR ---
DECLARE @Multiplicador INTEGER
SET @Multiplicador = 2
--CRIO UMA VARIÁVEL PARA FAZER O CALULO ATÉ O TAMANHO DO NUMERO DE ENTRADA --
DECLARE @i integer
SET @i = 1
--REALIZO O WHILE
WHILE @i < @TamanhoDoCodigoSemDigito
BEGIN
SET @Soma = @Soma + (LEFT(RIGHT(@NovoCodUsual, @i),1) * @Multiplicador)
SET @TamanhoDoCodigoSemDigito = @TamanhoDoCodigoSemDigito - 1
SET @Multiplicador = @Multiplicador + 1
SET @i = @i + 1
END
SELECT @Soma
Carregando comentários...