二进制数转换为十进制数

    技术2022-05-11  70

    CREATE FUNCTION dbo.f_bin_dec(@s varchar(64)) RETURNS bigint AS BEGIN --作者:pbsql --参数不得含'0'、'1'之外的任意字符(首尾空格除外),否则返回0   DECLARE @i int,@result bigint   SELECT @i=0,@result=0,@s=RTRIM(LTRIM(REVERSE(@s)))   WHILE @i<LEN(@s)   BEGIN     IF SUBSTRING(@s,@i+1,1) not in('0','1')     BEGIN       SELECT @result=0       break     END     SELECT @result=@result+CAST(SUBSTRING(@s,@i+1,1) AS int)*POWER(2,@i),@i=@i+1   END   RETURN @result END GO

    最新回复(0)