sql - 位列上的 bool 运算

标签 sql sql-server

如何对数据类型位的列执行 bool 运算? 例如,如何对整列执行逻辑“AND”?

如果这些位被转换为整数,那么取列的最小值将作为“AND”工作,检查总和是否大于零将作为“OR”工作,但是有没有办法直接做到这一点而不需要 Actor 阵容?

我想做一些类似的事情

SELECT AND(bitColumn)
FROM tempTable

最佳答案

您可以转换为数字。对于AND:

SELECT CAST((CASE WHEN MIN(CAST(bitColumn as int)) = 1 THEN 1 ELSE 0 END) as BIT)
FROM tempTable;

对于OR,使用MAX()

关于sql - 位列上的 bool 运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49200662/

相关文章:

sql - 将 Excel 电子表格连接到 SQL 数据库

sql - 当进一步使用 CROSS APPLY 时,我可以在第一个 SELECT 中使用 GROUP BY 吗?

mysql - 简单的 SQL 内连接查询 - 无法工作

sql - 我应该在客户端还是在 SQL Server 中生成大量 SQL 数据?

mysql - 在循环中运行 SQL count(*) 查询或尝试将其合并到父查询中是否更快?

mysql - 使用 Union All 获取总计

SQL 服务器 : get all previous values that are within half year of a month (not in future)?

c# - SQL 服务器 Microsoft.Data.SqlClient.SqlException (0x80131904) : Execution Timeout Expired on azure

c# - 必须在 Select 命令中声明标量变量

sql - 如何检查SQL Server 2008中用户定义表类型是否存在?