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]
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
Curtir tópico
+ 0
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
***************************************************
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
Clique aqui para fazer login e interagir na Comunidade :)