Utilizar Cast
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 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
Curtidas 0
Respostas
Thomaz_prg
18/04/2006
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:
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
Yallebr
18/04/2006
É 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!
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
Thomaz_prg
18/04/2006
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.
GOSTEI 0
Yallebr
18/04/2006
Funcionou obrigado.
GOSTEI 0