Usuário com melhor resposta
TSQL - Hexadecimal

Pergunta
-
Bom Pessoal,
Estou com uma dúvida em T-SQL:
Tenho em meu BD um campo chamado Comando as VARCHAR, este campo guarda o comando que configura o equipamento e está salvo em hexadecimal.
Até hoje, meu programa pega as variáveis e converte para HEX, sem problema.
Mas estou precisando fazer o caminho inverso, de HEX para INT
Sei que os comandos abaixo funcionam
SELECT CAST(0x0193 as INT)
SELECT CAST(403 as VARBINARY)
Mas como o campo Comando é Varchar, preciso dar um cast as varbinary e nao consigo setar a variável varbinary com o valor correto.
Segue exemplo:
--CERTO
DECLARE @HEX VARBINARY(8) SET @HEX = 0x193
SELECT CAST(@HEX as INT)
--ERRADO
DECLARE @HEX VARBINARY(8) SET @HEX = CAST('0x193' as VARBINARY)
SELECT CAST(@HEX as INT)
Alguma sugestão?
att,
GH- Movido Gustavo Maia Aguiar quarta-feira, 9 de setembro de 2009 20:29 (De:SQL Server - Desenvolvimento Geral)
Respostas
-
Bom Dia,
Dúvida bem interessante. Veja se ajudaDECLARE @SQL AS NVARCHAR(50), @HEXB AS VARBINARY(10), @HEXV AS VARCHAR(10); SET @HEXV = '0x193'; SET @sql = N'SET @o = ' + @HEXV + N';'; EXEC sp_executesql @STMT = @SQL, @PARAMS = N'@o AS VARBINARY(1000) OUTPUT', @o = @HEXB OUTPUT; SELECT @HEXB;
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.com
Unique Constraints – Aplicações, Alternativas e um lapso "justificável" do SQL Server
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!710.entry
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 9 de setembro de 2009 16:19
- Marcado como Resposta Guilherme Hanson quarta-feira, 9 de setembro de 2009 18:23
Todas as Respostas
-
Bom Dia,
Dúvida bem interessante. Veja se ajudaDECLARE @SQL AS NVARCHAR(50), @HEXB AS VARBINARY(10), @HEXV AS VARCHAR(10); SET @HEXV = '0x193'; SET @sql = N'SET @o = ' + @HEXV + N';'; EXEC sp_executesql @STMT = @SQL, @PARAMS = N'@o AS VARBINARY(1000) OUTPUT', @o = @HEXB OUTPUT; SELECT @HEXB;
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.com
Unique Constraints – Aplicações, Alternativas e um lapso "justificável" do SQL Server
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!710.entry
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 9 de setembro de 2009 16:19
- Marcado como Resposta Guilherme Hanson quarta-feira, 9 de setembro de 2009 18:23
-
-
Guilherme,
O segredo deste script esta na utilização do datatype VarBinary, para realizar a conversão dos valores para Hexadecimal de forma implicita.
Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA