将数据类型varchar转换为varbinary时出错。 MSSQL在转换为整数时
问题描述:
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在转换为整数时
我该如何解决这个问题?
答
十六进制总是有两个字符。试试这个
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
对不起,你说除了5? 5是唯一抛出异常的人 – Jaques 2014-11-21 11:32:16
是只有5抛出异常 – amesh 2014-11-21 11:35:41