谁能告诉我,在SQL查询中简单地使用位运算符并举例说明
我不确定位运算符何时以及如何处理我们的查询,如SP或函数谁能告诉我,在SQL查询中简单地使用位运算符并举例说明,sql,sql-server,Sql,Sql Server,我不确定位运算符何时以及如何处理我们的查询,如SP或函数 有谁能给我举个简单的例子,让我了解位运算符。在TSQL中,它是这样的 SELECT a_int_value & b_int_value FROM bitwise; 根据如果我理解你的问题,你想知道位运算符是用来做什么的,以及如何做 不必详细讨论按位运算符对位图的作用,位图是一种使用一个数字存储多个属性的方法 假设我们想要一个数字来存储关于某人的个人信息,例如性别和婚姻状况 我们首先分配要跟踪二进制整数的属性,即 Male
有谁能给我举个简单的例子,让我了解位运算符。在TSQL中,它是这样的
SELECT a_int_value & b_int_value
FROM bitwise;
根据如果我理解你的问题,你想知道位运算符是用来做什么的,以及如何做 不必详细讨论按位运算符对位图的作用,位图是一种使用一个数字存储多个属性的方法 假设我们想要一个数字来存储关于某人的个人信息,例如性别和婚姻状况 我们首先分配要跟踪二进制整数的属性,即
Male = 2
Female = 4
Trans = 8
Single = 16
married = 32
Divorced = 64
所以一个已婚男性的代表是34个男性(2)+已婚(32)=34
使用这样的按位运算符很容易测试属性
DECLARE @Male AS INT
DECLARE @FeMale AS INT
DECLARE @Trans AS INT
DECLARE @Single AS INT
DECLARE @Married AS INT
DECLARE @Divorced AS INT
SET @Male = 2
SET @Female = 4
SET @Trans = 8
SET @Single = 16
SET @Married = 32
SET @Divorced = 64
DECLARE @Person AS INT
-- Married male is 34
SET @Person = @male + @Married
-- Is person female?
IF @person & @female = @female
BEGIN
PRINT 'They are female'
END
ELSE
BEGIN
PRINT 'Not Female'
END
ANSI SQL没有这样的运算符。您使用的是哪种dbms?我使用的是SQL server 2012,您可能应该避免使用位运算符。此链接显示了运算符的行为,但我想知道如何在查询中使用位运算符。