当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL BIT_OR()用法及代码示例


MySQL中的BIT_OR()函数用于返回给定表达式中所有位的按位“或”。它首先将所有十进制值转换为二进制值,然后对这些二进制值执行按位或运算。

用法:

BIT_OR(expr)

参数:此方法仅接受一个参数。

  • expr -
    我们要在其上应用BIT_OR函数的输入表达式。

返回值:它返回给定表达式中所有位的按位或。

示例1:
为了演示BIT_OR函数的工作原理,我们必须首先创建一个名为EmployeeDetails的表。



CREATE TABLE EmployeeDetails(
Employee_Id INT AUTO_INCREMENT,  
Employee_Name VARCHAR(100) NOT NULL,
Working_At VARCHAR(20) NOT NULL,
Work_Location  VARCHAR(20) NOT NULL,
Joining_Date DATE NOT NULL,
Annual_Income INT  NOT NULL,
PRIMARY KEY(Employee_Id )
);

现在,将值插入表中-

INSERT INTO EmployeeDetails (Employee_Name, Working_At, 
Work_Location, Joining_Date, Annual_Income)
VALUES
('Amit Khan', 'XYZ Digital', 'Kolkata', '2019-10-06', 350000),
('Shreetama Pal', 'ABC Corp.', 'Kolkata', '2018-12-16', 500000),
('Aniket Sharma', 'PQR Soln.', 'Delhi', '2020-01-11', 300000),
('Maitree Jana', 'XYZ Digital', 'Kolkata', '2019-05-01', 400000),
('Priyanka Ojha', 'ABC Corp.', 'Delhi', '2019-02-13', 350000),
('Sayani Mitra', 'XYZ Digital', 'Kolkata', '2019-09-15', 320000),
('Nitin Dey', 'PQR Soln.', 'Delhi', '2019-10-06', 250000),
('Sujata Samanta', 'PQR Soln.', 'Kolkata', '2020-10-06', 350000),
('Sudip Majhi', 'ABC Corp.', 'Delhi', '2018-10-30', 600000),
('Sanjoy Kohli', 'XYZ Digital', 'Delhi', '2019-04-18', 450000);

要验证使用了以下命令,如下所示-

Select * FROM EmployeeDetails;

输出:

EMPLOYEE_ID EMPLOYEE_NAME WORKING_AT WORK_LOCATION JOINING_DATE ANNUAL_INCOME
1 阿米特·汗 XYZ数码 Kolkata 2019-10-06 350000
2 Shreetama Pal 美国广播公司 Kolkata 2018-12-16 500000
3 阿妮克特·沙玛 PQR Soln。 Delhi 2020-01-11 300000
4 玛雅特·贾娜 XYZ数码 Kolkata 2019-05-01 400000
5 普里扬卡·奥哈(Priyanka Ojha) 美国广播公司 Delhi 2019-02-13 350000
6 沙耶尼米特拉 XYZ数码 Kolkata 2019-09-15 320000
7 尼丁·戴(Nitin Dey) PQR Soln。 Delhi 2019-10-06 250000
8 Sujata Samanta PQR Soln。 Kolkata 2020-10-06 350000
9 Sudip Majhi 美国广播公司 Delhi 2018-10-30 600000
10 Sanjoy Kohli XYZ数码 Delhi 2019-04-18 450000

现在,我们将从EmployeeDetails表中找到所有员工company-wise的年收入的BIT_OR。

SELECT Working_At, BIT_OR(Annual_Income) AS BITORINCOME 
FROM EmployeeDetails group by Working_At;

输出:

WORKING_AT BITORINCOME
XYZ数码 524272
美国广播公司 1046512
PQR Soln。 514032

示例-2:
现在,我们将从EmployeeDetails表中找到所有员工所在地的年收入的BIT_OR。

SELECT Work_Location, BIT_OR(Annual_Income) AS BITORINCOME 
FROM EmployeeDetails 
Group By Work_Location;

输出:



WORK_LOCATION BITORINCOME
Kolkata 524208
Delhi 1048560

示例3:
首先创建一个StudentMarks表-

CREATE TABLE StudentMarks(
StudentId INT AUTO_INCREMENT,  
StudentName VARCHAR(100) NOT NULL,
Class VARCHAR(20) NOT NULL,
Roll INT NOT NULL,
Sub1Mark INT NOT NULL,
Sub2Mark INT NOT NULL,
Sub3Mark INT NOT NULL,
TotalMarks INT NOT NULL,
PRIMARY KEY(StudentId)
);

将数据插入表-

INSERT INTO StudentMarks
(StudentName, Class, Roll, Sub1Mark, 
Sub2Mark, Sub3Mark, TotalMarks)
VALUES
('Amit Jana', 'V', 10100, 85, 80, 95, 260),
('Labanya Mallick', 'VI', 11000, 81, 89, 95, 265),
('Virat Sharma', 'VI', 12000, 75, 83, 90, 248),
('Sayani Samanta', 'V', 13000, 95, 90, 99, 284),
('Riyanka Panda', 'V', 14000, 70, 87, 88, 245),  
('Ritika Shah', 'VI', 15000, 78, 89, 90, 257);

要验证使用了以下命令,如下所示-

SELECT  * From StudentMarks;

输出:

STUDENTID STUDENTNAME CLASS ROLL SUB1MARK SUB2MARK SUB3MARK TOTALMARKS
1 阿米特·贾娜(Amit Jana) V 10100 85 80 95 260
2 拉班亚·马利克(Labanya Mallick) VI 11000 81 89 95 265
3 维拉特·沙玛(Virat Sharma) VI 12000 75 83 90 248
4 萨亚妮·萨曼塔(Sayani Samanta) V 13000 95 90 99 284
5 里扬卡 Pandas V 14000 70 87 88 245
6 里蒂卡·沙(Ritika Shah) VI 15000 78 89 90 257

现在,我们将从StudentMarks表中找到所有学生类别的总分数的BIT_OR。

SELECT Class, BIT_OR(TotalMarks) AS BITORMARKS 
FROM StudentMarks 
Group By Class;

输出:

CLASS BITORMARKS
V 509
VI 505

相关用法


注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 BIT_OR() Function in MySQL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。