case when dar token unknowm
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
Curtidas 0
Respostas
Acacio
16/08/2006
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
***************************************************
GOSTEI 0