SQL Server:如何将二进制转换回int [英] SQL Server : how to convert binary back to int
本文介绍了SQL Server:如何将二进制转换回int的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们的IS管理员以 binary(2)
的形式将8个标记(如"00010000"(仅是true和false))存储到SQL Server.在这种格式下,数据的值类似于"0x1000".
Admin of our IS stored 8 flags like '00010000' (only true and false) to SQL Server as binary(2)
. In this format data has values like '0x1000'.
是否可以将此二进制文件转换回'00010000'?
Is possible to convert this binary back to '00010000' ?
转换
,广播
,子字符串
无效.
推荐答案
查询返回十六进制数(0x ...-十六进制)作为其位掩码
Query returns hexadecimal number (0x... - it is hexadecimal) as its bit mask
CREATE TABLE #Temp(
Test VARBINARY(2)
)
INSERT #Temp
VALUES
(0x1001),
(0x3001),
(0x5000),
(0x6000),
(0xf000),
(0xf250)
SELECT *, REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
CONVERT(VARCHAR(32), Test, 2)
, '0', '0000')
, '1', '0001')
, '2', '0010')
, '3', '0011')
, '4', '0100')
, '5', '0101')
, '6', '0110')
, '7', '0111')
, '8', '1000')
, '9', '1001')
, 'a', '1010')
, 'b', '1011')
, 'c', '1100')
, 'd', '1101')
, 'e', '1110')
, 'f', '1111')
FROM #Temp
DROP TABLE #Temp
这篇关于SQL Server:如何将二进制转换回int的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文