CREATE FUNCTION dbo.f_hex_dec(@s varchar(16))RETURNS bigintASBEGIN--作者:pbsql--参数不得含'0'~'9'、'a'~'f'、'A'~'F'之外的任意字符(首尾空格除外),否则返回0 DECLARE @i int,@result bigint SELECT @i=0,@result=0,@s=RTRIM(LTRIM(UPPER(REVERSE(@s)))) WHILE @i<LEN(@s) BEGIN IF SUBSTRING(@s,@i+1,1) not between '0' and '9' and SUBSTRING(@s,@i+1,1) not between 'A' and 'F' BEGIN SELECT @result=0 break END SELECT @result=@result+(CHARINDEX(SUBSTRING(@s,@i+1,1),'0123456789ABCDEF')-1)*POWER(16,@i),@i=@i+1 END RETURN @resultENDGO