gpt4 book ai didi

java - 如何在 SQL Server 2012 中查询或插入值到二进制(1)字段?

转载 作者:行者123 更新时间:2023-11-30 04:29:57 27 4
gpt4 key购买 nike

我尝试用谷歌搜索一段时间,但找不到任何东西,但如果这确实很明显,我深表歉意。

我有一个长度始终为 8 的 boolean 数组,我想将相应的二进制值插入到 binary(1) 字段中。我使用的是 SQL Server 2012。

目前,我将其转换为字符串,例如 "10100101",并创建一个类似于 "INSERT INTO Table1 VALUES('10100101');"的查询字符串 还一直在尝试获得相当于 "SELECT * FROM Table1 WHERE bin_val=10100101;"

SELECT 语句

当我执行该语句时,我总是遇到语法错误。我尝试了多种变体(例如带/不带引号等,并将数字设置为不同的格式,例如 "0xA5"),但没有成功。

有什么建议吗?

p.s用java编写代码

最佳答案

首先,您需要将二进制数转换为十进制数。然后,您只需将该值转换为数据类型 BINARY 即可。因此,假设您的字符串始终是 8 位长,您可以尝试以下操作:

DECLARE @BinaryNumber CHAR(8)
SET @BinaryNumber = '10100101'
INSERT INTO Table1
SELECT CAST(SUBSTRING(@BinaryNumber,8,1)+
SUBSTRING(@BinaryNumber,7,1)*2+
SUBSTRING(@BinaryNumber,6,1)*4+
SUBSTRING(@BinaryNumber,5,1)*8+
SUBSTRING(@BinaryNumber,4,1)*16+
SUBSTRING(@BinaryNumber,3,1)*32+
SUBSTRING(@BinaryNumber,2,1)*64+
SUBSTRING(@BinaryNumber,1,1)*128 AS BINARY(1))

关于java - 如何在 SQL Server 2012 中查询或插入值到二进制(1)字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14881588/

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