Fórum Utilizar Cast #55833
18/04/2006
0
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
Curtir tópico
+ 0Posts
20/04/2006
Thomaz_prg
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 ...;
Gostei + 0
20/04/2006
Yallebr
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!
Gostei + 0
20/04/2006
Thomaz_prg
É 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;
De dentro da SP. No lugar do select que vc estava chamando.
Gostei + 0
11/05/2006
Yallebr
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)