原创 二进制数转换为十进制数收藏

新一篇: 十进制数转换为二进制数 | 旧一篇: 十进制数转换为十六进制数

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

发表于 @ 2006年01月05日 17:40:00|评论(loading...)|编辑

新一篇: 十进制数转换为二进制数 | 旧一篇: 十进制数转换为十六进制数

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © pbsql