gpt4 book ai didi

tsql - T-SQL : Convert '0110' to 6

转载 作者:行者123 更新时间:2023-12-04 07:10:41 35 4
gpt4 key购买 nike

有什么好的方法可以在 T-SQL 中将二进制(基数为 2)字符串转换为整数(如果没有,我想我可以编写一个函数......)

'0110' => 6 等

最佳答案

你知道字符串总是有特定的长度吗?如果是这样,您可以硬编码一堆 Substring/convert-to-int/multiply 步骤。不过也不会太好...

编辑:为了提供更多细节,假设您知道它的长度为 4,您可以这样做:

SELECT (8 * CONVERT(int, SUBSTRING(@x, 1, 1)))
+ (4 * CONVERT(int, SUBSTRING(@x, 2, 1)))
+ (2 * CONVERT(int, SUBSTRING(@x, 3, 1)))
+ (1 * CONVERT(int, SUBSTRING(@x, 4, 1)))

如果语法稍有偏差,请见谅。

令人不快,并且在更一般的情况下不起作用(您基本上需要以某种形式循环),但它可能足以快速修复。

(如果downvoters可以添加评论,我将不胜感激。T-SQL有点超出我的专业领域 - 解释为什么这是一个坏主意比仅仅表明这是一个坏主意的downvote更有帮助。 )

关于tsql - T-SQL : Convert '0110' to 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/406351/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com