Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
pessoal eu tenho o campo cod_estado_civil que está definido como int. esse campo possui o valor 5
fiz uma function que verifica que se essa campo contiver 5 então retorna 'C'
Begin Return ( Select Case @Campo When -1 Then 'O' When 4 Then 'S' When 5 Then 'C' When 6 Then 'V' When 7 Then 'D' Else 'O' End ) Endaí quando vou fazer um update chamo essa função e passo o campo como paramentro:
Update
a
Set
cod_estado_civil = dbo.nc_RetornaCodigoCivil(cod_estado_civil)
From
nc_tb_cliente a
Where
cod_cliente = 1019100211181900
só que aí me dá esse erro:
Server: Msg 245, Level 16, State 1, Line 1
Syntax error converting the varchar value 'C' to a column of data type int.
pq o que retornou ('C') é um varchar e está tendo atualizar esse varchar num campo que está definido como int.
já fiz isso cod_estado_civil = convert(varchar(1),dbo.nc_RetornaCodigoCivil(cod_estado_civil))
mais não adiantou e continua dando o mesmo erro.
como posso arrumar isso?
Carregando comentários...