2014-11-21 49 views
0
create table hexvalue(Data varchar(10)) 

insert into hexvalue values('5'),('0E'),('12'),('17'),('15'),('EF'),('EF') 

select convert(int, convert(varbinary, '0x'+Data, 1)) from hexvalue 

这是抛出错误将数据类型varchar转换为varbinary异常,'5'除外。将数据类型varchar转换为varbinary时出错。 MSSQL在转换为整数时

我该如何解决这个问题?

+0

对不起,你说除了5? 5是唯一抛出异常的人 – Jaques 2014-11-21 11:32:16

+0

是只有5抛出异常 – amesh 2014-11-21 11:35:41

回答

2

十六进制总是有两个字符。试试这个

create table hexvalue(Data varchar(10)) 

insert into hexvalue values('05'),('0E'),('12'),('17'),('15'),('EF'),('EF') 

select convert(int, convert(varbinary, '0x'+Data, 1)) from hexvalue 
相关问题