Fórum case when dar token unknowm #56770

16/08/2006

0

Estou tentando fazer um calculo de juros e não aceita o when, o que pode ser

minha rotina é esta:
[color=red:f6cabf2891]With SQLtemp do //CHEQUE EM ABERTO
begin
Close;
SQL.Clear;
SQL.Add(´SELECT numcheque, datacadastro, datacadastro - cast(current_date - datacadastro as integer)dias_vencer, valor, numagencia, numconta, nomebanco, nomecliente,´);
SQL.Add(´CASE WHEN DATEDIFF(d, datacadastro, GETDATE()) > 5 THEN´);
SQL.ADD(´(0.02 * valor) * DATEDIFF(d, datacadastro, GETDATE())´);
SQL.Add(´ELSE 0.0´);
SQL.Add(´END AS Juros,CASE WHEN DATEDIFF(d, datacadastro, GETDATE()) > 30 THEN (0.05 * valor) * FLOOR(DATEDIFF(d, datacadastro, GETDATE()) / 30) ELSE 0.0 ´);
SQL.Add(´END AS Multa FROM cheque´);
open;
end;[/color:f6cabf2891]


Dpinho

Dpinho

Responder

Posts

17/08/2006

Acacio

Faça mais ou menos assim

Repare que o campo RetornaValor começa no case e acaba no end

***************************************************
select cli.codcli,cli.descli,cli.dtnasc,
cli.status,cli.bdcnpj,
case
when cli.status = ´Y´ then
´Aconteceu ´
else
´Não aconteceu´
end RetornaValor
from TClientes cli
***************************************************


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar