Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcondes

Conversão de varchar para int

Recommended Posts

Procedure sp_EV_Exclui@Var01 varchar(8000) = NULLAsBeginDELETE FROM tbl_ev_classificadosWHEREtbl_ev_classificados.int_class in(@Var01)EndO valor que chega na SP é :exec sp_EV_Exclui '7, 8'como faço para converter este tipo de valor???

Compartilhar este post


Link para o post
Compartilhar em outros sites

na realidade você está passando duas chaves né, 7 e 8.....se for isso você pode passar os valores pra uma tabela virtual e fazer a consulta na virtual: ... tbl_ev_classificados.int_class in(select chave from #Tab)

 

veja um exemplo de código pra passar os parâmetros separados por vírgula para uma tabela virtual

declare	@Chave Varchar(8000)set @Chave = '1,15,500,2,270,26'declare @pos_ini intdeclare @pos_fim int--tabela virtual que recebera os parametros separados por vírgula (,)create table #Tab (Chave integer) declare @Chave_Novo decimal(20,3)set @pos_ini = 1 set @pos_fim = 1 while @pos_fim > 0 begin 	set @pos_fim = charindex(',', @Chave, @pos_ini) 		if @pos_fim > 0 	begin		set @Chave_Novo = convert(numeric(20, 3), substring (@Chave, @pos_ini, @pos_fim - @pos_ini)) 	end	else	begin 		set @Chave_Novo = convert(numeric(20, 3), substring (@Chave, @pos_ini, len(@Chave) + 1 - @pos_ini)) 	end		set @pos_ini = @pos_fim + 1 		insert into #Tab values (@Chave_Novo) endselect * from #Tab --consultando chavesdrop table #Tab --apagando tabela virtual
falows

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.