将1和0的32位二进制字符串转换为SQL Server中的带符号十进制数

斯科兹

我正在使用SQL Server 2012 Express。我有一个1的字符串和0的32位长度。

01010010000100010111001101110011

如何在SQL脚本中将其转换为带符号的十进制数?

目前,我在网上使用Web工具作为答案,而我目前的搜索并没有使我找到所需的答案。

阿比舍克

您可以尝试如下-

DECLARE @Binary VARCHAR(100) = '01010010000100010111001101110011';
DECLARE @characters CHAR(36),  
        @result BIGINT,  
        @index SMALLINT,  
        @base BIGINT;
SELECT @characters = '0123456789abcdefghijklmnopqrstuvwxyz',  
       @result = 0,  
       @index = 0,
       @base = 2;    
WHILE @index < LEN(@Binary)
BEGIN 
     SELECT @result = @result + POWER(@base, @index) * (CHARINDEX(SUBSTRING(@Binary, LEN(@Binary) - @index, 1), @characters) - 1);
     SET @index = @index + 1;  
END
SELECT @result;

这将帮助您从任何基数(我用于@base as 2二进制)转换为基数10。从最右边开始,一直向左移动,直到数字用完。转换是(基础^索引)*数字。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

需要将二进制形式的1和0的字符串转换为十进制数

在Java中将24位二进制补码转换为带符号的十进制数

如何从8位带符号二进制数中得到一个负的十进制值?

JavaScript-以字符串形式将十进制数转换为4位二进制数

将二进制转换为带符号的十进制

将 0 和 1 的字符串转换为它的二进制等效 python

将二进制文件转换为 0 和 1 的字符串

C程序将十进制数转换为二进制字符串

将带符号的二进制转换为十进制,八进制和十六进制

Python中带符号的十六进制缩写的带符号的十进制

将二进制(0 | 1)numpy转换为整数还是二进制字符串?

如何将带符号的十进制转换为十六进制的24位二进制补码带符号数

将二进制字符串转换为十进制

如何将二进制字符串转换为十进制?

将二进制字符串转换为十进制

如何将二进制字符串值转换为十进制

Java将二进制字符串转换为十进制

Arduino C / C ++将二进制字符串转换为十进制

C ++从字符串输入将二进制转换为十进制

将字符串二进制转换为整数十进制

将整数转换为带符号的2的补码二进制字符串

将十六进制字符串转换为二进制SQL Server

将字符串转换为二进制?

将带符号的货币转换为十进制

如何将 ASCII 转换为位字符串(二进制)

将二进制字符串(ASCII)转换为二进制文件

将二进制字符串转换为二进制

将二进制字符串转换为二进制补码

Python 将二进制字符串转换为二进制整数