Oracle如何&操作进行二进制的比对

oracle 中 bitand(    )    函数  返回两个数值型数值在按位进行    AND    运算后的结果。   语法

BITAND(nExpression1,    nExpression2)

参数

nExpression1,    nExpression2

指定按位进行    AND    运算的两个数值。如果    nExpression1    和    nExpression2    为非整数型,那么它们在按位进行    AND    运算之前转换为整数。

说明

BITAND(    )    将    nExpression1    的每一位同    nExpression2    的相应位进行比较。如果    nExpression1    和    nExpression2    的位都是    1,相应的结果位就是    1;否则相应的结果位是    0。

下表列出对    nExpression1    和    nExpression2    按位进行    AND    运算的结果:

nExpression1    位    nExpression2    位    结果位

0    0    0

0    1    0

1    1    1

1    0    0

bitand(    )    函数示例

x    =    5      &&    二进制为    0101

y    =    6      &&    二进制为    0110

?    bitand(x,y)    &&    返回值    4,二进制为    0100

select  * from ppm_taskinfo t where to_number(bitand(t.taskstatus,2097152)) > 0 ;

-----------------------------------------------------------------------------

ORACLE中的BITOR和BITXOR

ORACLE中只有BITAND而没有BITOR, BITXOR

原因是,有了BITAND, 很容易实现BITOR和BITXOR

BITOR(x,y) = (x + y) - BITAND(x, y);

BITXOR(x,y) = BITOR(x,y) - BITAND(x,y) = (x + y) - BITAND(x, y) * 2;

hextoraw是一个用十六进制转换的函数,所以hextoraw(13)实际是

十六进制:13

十进制:19(16+3)

二进制:10011

hextoraw(2)的二进制为10

所以

select utl_raw.bit_and(hextoraw(13),hextoraw(2)) from dual

=select bitand(19,2) from dual

=(10011) and (10)=(11) and (10)=(10)='02'

注: 根据说明utl_raw.bit_and与bitand的不同是utl_raw.bit_and在将两个数字转换为二进制后,会忽略掉多余的位数.

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle 二进制与运算,Oracle怎么操作进行二进制的比对相关推荐

  1. oracle 二进制与运算,ORACLE使用函数对二进制、十进制、十六进制数互相转换

    文中涉及: 十进制与十六进制的互相转换 二进制与十进制的互相转换 二进制与十六进制的互相转换 1.将十进制的数转换为十六进制的数请使用to_char函数. 数据库中16进制的表达是按照字符串来描述的, ...

  2. Oracle XE版安装与用户操作

    文章目录 安装 安装Oracle数据库 Orace11g与Oracle 11g XE区别: 安装注意事项 Oracle 服务 Oracle中的服务 启动和停止服务 Oracle客户端 sqlplus客 ...

  3. Oracle(二)Oracle sql操作

    文章目录 Oracle建表(create table) Oracle 字段类型: create table语句 添加约束: Oracle 查询(select) 备份查询数据: Oracle 插入(in ...

  4. oracle union all写法,【oracle】-集合运算:UNION,UNION ALL...

    在Oracle中提供了三种类型的集合操作: 并(UNION).交(INTERSECT).差(MINUS) UNION:求并,重复记录只显示一次. UNION ALL:求并集,显示所有记录信息. INT ...

  5. oracle更改密码机制,Oracle密码机制以及常用操作

    Oracle 默认有3个用户: sys 密码:自定:system 密码:自定 :scott 密码:Tiger(默认锁定):注:用Sys用户登录须根 [as sysdba Oracle 默认有3个用户: ...

  6. oracle sql比较时间大小,Oracle数据库中日期时间的操作比较和加减

    Oracle数据库中日期时间的操作比较和加减 Oracle关于时间/日期的操作 1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7 ...

  7. dg oracle 切换模式_oracle dg切换操作示例

    背景:应对发生灾难.故障和其他割接场合进行的灾备演练,包括主备切换和主机意外宕机. 一.主备切换( switch over ) ################# #  primary 操作 #### ...

  8. Linux环境 Oracle 监听和服务 日常操作

    文章目录 一.Oracle监听 1.1. 查看Oracle监听运行状态 1.2. 启动Oracle监听 1.3. 关闭监听器 二.Oracle 服务 2.1. 以SYS用户身份登录Oracle 2.2 ...

  9. ef导入oracle数据类型不正确,EF Core操作Oracle踩坑记

    EF(Entity Framework)是微软标志性且成熟的ORM,从之前的.NET Framework时代就已经很常见了,但是给人的感觉还是偏"重",性能被不少人吐槽,倒是像Da ...

最新文章

  1. 小程序画布画海报保存成图片可以保存实现完整代码
  2. Python之多线程
  3. 3.1 调试处理-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  4. HTTPS配置全记录
  5. 字节跳动AI Lab 算法岗专属内推码!
  6. Oracle10g expdp impdp
  7. mongodb python 大于_菜鸟成长记--如何根据关键词爬取微博内容?(scrapy+mongodb)
  8. html 表格转换为dbf,DBF Excel 文件相互转换-完美教程资讯
  9. 计算机对用户的操作做出反应,云南省计算机二级VB考试真题题库
  10. jmeter---ftp性能测试
  11. itextpdf使用总结
  12. 信号处理:频域转时域
  13. Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD
  14. C语言编程判断字母大小并转换,towupper()
  15. 五菱“神车”再添一员,小型电动车迎来“均值回归”?
  16. 关于《走进名企之微软亚洲研究院》的观后感
  17. 读书·架构整洁之道(原则篇)
  18. 文件损坏打不开怎么办?excel文件修复,看看这些解决办法
  19. 【分享笔记】android6.0特性
  20. magic3是鸿蒙系统吗,如果荣耀Magic3搭载屏下镜头和鸿蒙系统,你会做第一批吗?...

热门文章

  1. 几行代码构建全功能对象检测模型,这位杜克大学学生做到了!
  2. Google、Facebook等不可错过的 AI 开源工具,你想要的都在这里!
  3. 漫画:如何给女朋友解释什么是“锟斤拷”?
  4. 马云谈 5G 危机;腾讯推出车载版微信;Ant Design 3.22.1 发布 | 极客头条
  5. 全新起点!英特尔发布 Agilex FPGA,采用 10 纳米制程 | 极客头条
  6. 为什么程序员纷纷反对微软收购GitHub?
  7. 英特尔处理器曝出重大安全漏洞,迫使 Linux 和 Windows 更新设计
  8. 中国码农在硅谷:告诉你如何斩获Google、微软、FB、Airbnb 四家 Offer
  9. 多维数组的索引与切片_SystemVerilog的那些数组
  10. 小米Android系统限制联网,Android 7 以上版本,绕过CA限制,抓取https