2012-11-30 56 views
0

我的發言:沒有得到正確的答案,而從十六進制轉換爲varchar

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

我的得到答案Tãÿ沒有得到十六進制值2540BE3FF作爲字符串

+2

你還沒有打開「奇蹟般地猜測我是什麼意思,當我串起幾個轉換操作」選項。沒有這一點,它會盡可能地愚蠢地應用每個轉換。 –

+0

@ user1751909由於您在過去幾個小時內已經提出了幾個類似的問題,爲什麼不真正告訴我們您想要實現的目標?這樣社區可以更好地幫助你。 – Bridge

回答

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 link