0

我有以下陈述:

declare @x varchar(10)
declare @cardnum bigint
set @cardNum=9999999999
set @x=convert(varchar, CONVERT (varbinary(8), CONVERT(BIGINT, @cardNum)))
print @x

我得到的答案是Tãÿ没有将十六进制值2540BE3FF作为字符串

4

1 回答 1

2

试试这样:

declare @x varchar(50)
declare @cardnum bigint
set @cardNum=9999999999

declare @hexbin varbinary(max)
set @hexbin = CONVERT (varbinary(8), @cardNum)

Set @x = CONVERT(varchar(max), @hexbin, 1)
print @x

Set @x = CONVERT(varchar(max), @hexbin, 2)
print @x

在此MSDN 链接上阅读有关它的更多信息

于 2012-11-30T12:11:16.007 回答