MySQL - BIT_OR() 函数



MySQL 的BIT_OR()函数用于计算特定列中值的按位或运算。

以下是 BIT_OR() 函数的表格表示:

A B 结果
0 0 0
0 1 1
1 1 1

按位或运算符将比较一个位与另一个位。如果这两个位都是 0,则结果将设置为 0。如果这两个位中任何一个为 1,则结果将设置为 1。

2 (bit value 0010)
6 (bit value 0110)
8 (bit value 1000)

此函数首先将整数值转换为位值,然后执行按位或运算,并将结果作为整数返回。

0010 (integer value 2)
0110 (integer value 6)
----
0110 (Result of bit value 4 and 2)
1000 (integer value 8)
----
1110 (Final Result is 14)

语法

以下是 MySQL BIT_OR() 函数的语法:

BIT_OR(expr);

参数

此方法接受一个参数。具体说明如下:

  • expr: 执行按位或运算的数值。

返回值

此函数对输入值执行按位或运算,并将结果作为整数返回。

示例

在下面的查询中,我们使用 CREATE TABLE 语句创建一个名为CUSTOMERS的表:

CREATE TABLE CUSTOMERS (
   ID INT AUTO_INCREMENT,
   NAME VARCHAR(20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   RANKING INT,
   PRIMARY KEY (ID)
);

下面的查询将 7 条记录插入到上面创建的表中:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,RANKING) VALUES 
(1, 'Ramesh', 32, 'Ahmedabad', 5 ),
(2, 'Khilan', 25, 'Delhi', 3 ),
(3, 'Kaushik', 23, 'Kota', 6 ),
(4, 'Chaitali', 25, 'Mumbai', 4 ),
(5, 'Hardik', 27, 'Bhopal', 2 ),
(6, 'Komal', 22, 'Hyderabad', 7 ),
(7, 'Muffy', 24, 'Indore', 1 );

要获取插入到 CUSTOMERS 表中的所有记录,请执行以下查询:

Select * From CUSTOMERS;

以下是 CUSTOMERS 表:

ID 姓名 年龄 地址 排名
1 Ramesh 32 Ahmedabad 5
2 Khilan 25 Delhi 3
3 Kaushik 23 Kota 6
4 Chaitali 25 Mumbai 4
5 Hardik 27 Bhopal 2
6 Komal 22 Hyderabad 7
7 Muffy 24 Indore 1

在这里,我们使用 MySQL BIT_OR() 函数计算列RANKING值的按位或运算:

SELECT BIT_OR(RANKING) From CUSTOMERS;

这将产生以下结果:

BIT_OR(RANKING)
7

现在,我们计算列AGE值的按位或运算:

SELECT BIT_OR(AGE) From CUSTOMERS;

上面查询的输出如下所示:

BIT_OR(AGE)
63
广告