我尝试使用TSQL,当值在变量内时,我会遇到一些问题,将十六进制转换为十进制.
我的代码是:
SET @hex = SUBSTRING(@x,1,2) --give 1e
SET @hex = '0x' + @hex
SELECT CAST (@hex AS int)
Run Code Online (Sandbox Code Playgroud)
在将varchar值转换为int时,我收到转换失败的错误
我不知道这是什么问题,到目前为止我找不到解决方案
任何的想法?谢谢
这适用于(对于SQL Server 2008或更高版本):
declare @hex varchar(316)
SET @hex = '1e' --SUBSTRING(@x,1,2) --give 1e
SET @hex = '0x' + @hex
SELECT CONVERT(int,CONVERT (binary(1),@hex,1))
Run Code Online (Sandbox Code Playgroud)
请参阅CAST和CONVERT页面上的"二进制样式" .