GARANTIR DESCONTO

Fórum Utilizar Cast #55833

18/04/2006

0

Pessoal estou com problema em usar Cast.

O que eu quero é utilizar o nome de uma coluna dinamica. Por exemplo. A coluna será formada por um parâmetro.


[/code]
Coluna = ´Campo´ || strParametro;

select ...........
from ...........
where
cast(:Coluna as float) between :intinicio1 and :intfinal1

O problema está ai, quando tento fazer isso dá pau. Se eu colocar o nome da coluna normal, cast(´campo1´ as float) funciona. 

Alguem tem alguma dica, o campo é do tipo stirng.

Obrigado.




Yallebr

Yallebr

Responder

Posts

20/04/2006

Thomaz_prg

Você está usando qual bd?? Seu SQL está dentro de uma trigger ou procedure??

Porque, se vc estiver usando Firebird 1.5 ou superior, pode usar EXECUTE STATEMENT:

coluna = ´Campo´ || :strParametro;
comando = ´select ... from ... where cast(´||:Coluna||´ as float) between ´||:intinicio1||´ and ´||:intfinal1;
execute statement :comando into ...;



Responder

Gostei + 0

20/04/2006

Yallebr

É FB 1.5.2
Stored Procedure.

O que vem a ser EXECUTE STATEMENT. Eu achamo esse comando através de um SQL ou de dentro da Stored Procedure?

Obrigado!


Responder

Gostei + 0

20/04/2006

Thomaz_prg

O que vem a ser EXECUTE STATEMENT.

É um comando interno do firebird, que executa uma instrução a partir de uma variável ou valor (char ou varchar).

Por exemplo, se eu quiser listar todos os codigos e nomes de uma tabela, eu poderia fazer assim:

cmd = ´select codigo, nome from tabela´;
for execute statement :cmd into :var1, :var2 do 
  suspend;


Eu achamo esse comando através de um SQL ou de dentro da Stored Procedure?

De dentro da SP. No lugar do select que vc estava chamando.


Responder

Gostei + 0

11/05/2006

Yallebr

Funcionou obrigado.


Responder

Gostei + 0

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

Aceitar