写点什么

YashanDB 位运算符

作者:YashanDB
  • 2025-04-01
    广东
  • 本文字数:528 字

    阅读完需:约 2 分钟

本文内容来自 YashanDB 官网,原文内容请见 https://doc.yashandb.com/yashandb/23.3/zh/%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C/SQL%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E8%BF%90%E7%AE%97%E7%AC%A6/%E4%BD%8D%E8%BF%90%E7%AE%97%E7%AC%A6.html


YashanDB 提供如下位运算符:


| 结果为 NULL || | | 二元 | 按位或:0 | 0 = 0


其他为 1


| 结果为 NULL || ^ | 二元 | 按位异或:0 ^ 0 = 0 或 1 ^ 1 = 0


其他为 1


| 结果为 NULL |


YashanDB 中,可实现位运算的方式有:



其中,&与 BITAND 同义,|与 BITOR 同义,^与 BITXOR 同义。


参与运算的两个数据,按二进制展开后,由低到高每 bit 进行位运算,并以 BIGINT 类型输出运算结果。


位运算最多支持到 64 位。


小数参与运算:FLOOR取整后,参与位运算。

运算优先级

从高到低的运算优先级为:^>&>|。


可以使用双括号()来调整想达到的运算优先级。

数据类型

如下数据类型可能会参与到位运算中:


  • 数值型(除 FLOAT、DOUBLE 外)

  • 字符型


在进行二元位运算时,YashanDB 将通过隐式数据转换,将参与运算的数据类型全部统一到 BIGINT 类型,再进行位运算。


下图列示具体统一规则:(行列标题格为参与位运算的数据类型;内容单元格为统一后的数据类型;–表示不支持两种数据类型参与位运算)



发布于: 4 小时前阅读数: 8
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB位运算符_数据库_YashanDB_InfoQ写作社区