Problemas com cláusula IN
05/02/2007
0
Um usuário chegou a mim com uma dúvida que não estou conseguindo resolver... Ele pediu que tornasse possível a execução da sequência abaixo em uma procedure:
declare @var string
set @var = ´1,2,3,4,5´
select * from apf_agencia
where cod_agbco in (@var)
Apesar, de saber que o tipo string não existe coloquei exatamente o que ele requisitou... O campo cod_agbco é numérico (inteiro).
Já tentei diversas idéias, desde converter o campo para varchar e por a variável tb, etc... Quando coloco a variável varchar e converto o campo para varchar tb não retorna nada. Exceto quando tiro todas as vírgulas e deixo somente um número como por exemplo @var=´1´.
Ou seja:
declare @var varchar(10)
set @var = ´1,2,3,4,5´
select * from apf_agencia
where convert(varchar(10),cod_agbco) in (@var)
NÃO RETORNA NADA
Enquanto:
declare @var varchar(10)
set @var = ´1´
select * from apf_agencia
where convert(varchar(10),cod_agbco) in (@var)
RETORNA...
Se alguém souber de algo pra me ajudar ficaria muito grato...
Obrigado,
Luiz Fernando
Luiz7s
Curtir tópico
+ 0Posts
05/02/2007
Psergio.p
Exemplo: IN(1,2,3,4,5) ou IN(´1´,´2´,´3´,´4´,´5´)
Talvez você consega fazer o que está querendo montando dinamicamente a Query pelo sua aplicação!
Gostei + 0
06/02/2007
Luiz7s
Alguém sabe me mostrar como fazer isso? Não tenho mto domínio em SQL... Pior ainda que tenho que fazer a mesma coisa em Sybase...
Gostei + 0
06/02/2007
Psergio.p
https://www.devmedia.com.br/visualizaComponente.aspx?comp=3315&site=2
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)