Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql 位运算

作者:霸气邪剑仙   发布日期:2025-07-21   浏览:54

-- 位运算示例代码

-- 1. 位与 (&)
-- 位与运算会逐位比较两个操作数,只有当两个操作数的对应位都为1时,结果才为1。
SELECT 5 & 3; -- 结果为 1 (二进制: 101 & 011 = 001)

-- 2. 位或 (|)
-- 位或运算会逐位比较两个操作数,只要有一个操作数的对应位为1,结果就为1。
SELECT 5 | 3; -- 结果为 7 (二进制: 101 | 011 = 111)

-- 3. 位异或 (^)
-- 位异或运算会逐位比较两个操作数,只有当两个操作数的对应位不同时,结果才为1。
SELECT 5 ^ 3; -- 结果为 6 (二进制: 101 ^ 011 = 110)

-- 4. 位取反 (~)
-- 位取反运算会将操作数的每一位取反,即0变为1,1变为0。
SELECT ~5; -- 结果为 -6 (二进制: 取反后加上1得到补码)

-- 5. 左移 (<<)
-- 左移运算会将操作数的二进制表示向左移动指定的位数,右边用0填充。
SELECT 5 << 1; -- 结果为 10 (二进制: 101 << 1 = 1010)

-- 6. 右移 (>>)
-- 右移运算会将操作数的二进制表示向右移动指定的位数,左边用符号位填充。
SELECT 5 >> 1; -- 结果为 2 (二进制: 101 >> 1 = 010)

解释说明:

  • 位与 (&):用于检查两个操作数的对应位是否都为1。
  • 位或 (|):用于设置两个操作数中任意一个为1的位。
  • 位异或 (^):用于翻转两个操作数中不同的位。
  • 位取反 (~):用于将所有位取反,通常用于反转标志位。
  • 左移 (<<):用于将位向左移动,相当于乘以2的幂。
  • 右移 (>>):用于将位向右移动,相当于除以2的幂。

这些位运算符在MySQL中可以用于高效的位操作,特别是在处理标志位、权限管理等场景。

上一篇:mysql deadlock

下一篇:mysql获取所有表名

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql代码

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站