guiserra Postado Junho 24, 2011 Denunciar Share Postado Junho 24, 2011 (editado) NÃO CONHEÇO MUITO DA LINGUAGEM SQL MAS PRECISO DO SEGUINTE:MONTEI UMA TRIGGER E NELA CONVERTO UM NÚMERO DECIMAL PARA HEXADECIMAL. OK.MAS PRECISO USAR ESTE NÚMERO NO FINAL DO SEGUINTE COMANDO:set @cmd = 'opc -h 127.0.0.1 -s SWToolbox.OmniServer -w Tx.ID_ChangeInsert ' + cast (@IDatual as varchar (3)) + ' Tx.Msg_ChangeInsert "||' + cast (@FirstName as varchar (100)) + '||||'+ cast (@profilename as varchar (20)) +'||' + convert (varchar (100),@ExitDate,20) '" 'O PROBLEMA É QUE PRECISO INSERIR OS VALORES HEXADECIMAIS COMO FORMATO TEXTO E SEM O PREFIXO "0x", APENAS OS 8 DIGITOS DO VALOR.EXEMPLO:PARA O NÚMERO "1010" (DECIMAL)PRECISO INSERIR APENAS "000003F2" (HEXADECIMAL)O SQL ME FORNECE DESTA MANEIRA "0x000003F2" (VARBINARY)OBRIGADO. Editado Junho 24, 2011 por guiserra Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Junho 27, 2011 Denunciar Share Postado Junho 27, 2011 Bom dia Gui, Algumas conversões de tipo são implícitas pelo sql. Em alguns casos aí que vem o problema, ficando um pouco dificil realizar a manipulação dos dados de resultado. Este é um caso em que as conversões dão muita dor de cabeça... rs. Você terá que utilizar o comando sys.fn_varbintohexstr para "forçar" a conversão de VARBINARY para CARACTER. Segue um exemplo:SELECT upper(substring((sys.fn_varbintohexstr(CAST(1010 AS VARBINARY))), 3, 10)) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
guiserra
NÃO CONHEÇO MUITO DA LINGUAGEM SQL MAS PRECISO DO SEGUINTE:
MONTEI UMA TRIGGER E NELA CONVERTO UM NÚMERO DECIMAL PARA HEXADECIMAL. OK.
MAS PRECISO USAR ESTE NÚMERO NO FINAL DO SEGUINTE COMANDO:
set @cmd = 'opc -h 127.0.0.1 -s SWToolbox.OmniServer -w Tx.ID_ChangeInsert ' + cast (@IDatual as varchar (3)) + ' Tx.Msg_ChangeInsert "||' + cast (@FirstName as varchar (100)) + '||||'+ cast (@profilename as varchar (20)) +'||' + convert (varchar (100),@ExitDate,20) '" '
O PROBLEMA É QUE PRECISO INSERIR OS VALORES HEXADECIMAIS COMO FORMATO TEXTO E SEM O PREFIXO "0x", APENAS OS 8 DIGITOS DO VALOR.
EXEMPLO:
PARA O NÚMERO "1010" (DECIMAL)
PRECISO INSERIR APENAS "000003F2" (HEXADECIMAL)
O SQL ME FORNECE DESTA MANEIRA "0x000003F2" (VARBINARY)
OBRIGADO.
Editado por guiserraLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.