再次请教(16进制转换为10进制)搞定结贴
CREATE FUNCTION dbo.Hex2Dec (@vNCarryValue varchar(100))
RETURNS dec
AS
BEGIN
declare @iValue dec(12,2)
,@iCount int
,@iLen int
,@iPos int
select @iValue=0.00,@iCount=len(replace(@vNCarryValue,'0',''))
while(@iCount>=1)
begin
select @vNCarryValue=right(@vNCarryValue,len(@vNCarryValue)-
charindex('1',@vNCarryValue)+1)
,@iLen=len(@vNCarryValue)
,@iPos=@iLen-charindex('1',@vNCarryValue,0)
,@vNCarryValue=right(@vNCarryValue,len(@vNCarryValue)-
charindex('1',@vNCarryValue))
,@iValue=@iValue+power(16,@iPos)
,@iCount = @iCount-1
end
return @iValue
END
不过我使用的时候好像取得数据不对
如select dbo.Hex2Dec ('468DB371') ; 结果为8