ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle funcdtion_bitand

oracle funcdtion_bitand

原创 Linux操作系统 作者:wisdomone1 时间:2012-12-28 09:41:07 0 删除 编辑

bitand

  bitand
  返回两个数值型数值在按位进行 AND 运算后的结果。
  语法
  BITAND(nExpression1, nExpression2)
  参数
  nExpression1, nExpression2
  指定按位进行 AND 运算的两个数值。如果 nExpression1 和 nExpression2 为非整数型,那么它们在按位进行 AND 运算之前转换为整数。
  返回值类型
  数值型
  说明
  BITAND( ) 将 nExpression1 的每一位同 nExpression2 的相应位进行比较。如果 nExpression1 和 nExpression2 的位都是 1,相应的结果位就是 1;否则相应的结果位是 0。
  下表列出对 nExpression1 和 nExpression2 按位进行 AND 运算的结果:
  SELECT BITAND(6,3) FROM DUAL;
  BITAND(6,3)
  ---------------
  2
  例如:
  select bitand(6,7) from dual;
  6的二进制是0110;7是0111.逻辑与是将各二进制位一一进行与操作,其中第二和第三位相同并且都是1,诸位逻辑与后结果为0110
  故,返回结果为6。
 
 
测试如下:
 
SQL> select bitand(1.2,2.8) from dual;
 
BITAND(1.2,2.8)
---------------
              0
 
SQL> select bitand(1.9,2.9) from dual;
 
BITAND(1.9,2.9)
---------------
              0
 
SQL> select bitand(2.9,2.9) from dual;
 
BITAND(2.9,2.9)
---------------
              2
 
SQL> select bitand(0.9,0.9) from dual;
 
BITAND(0.9,0.9)
---------------
              0
 
SQL> select bitand(0.9,1.9) from dual;
 
BITAND(0.9,1.9)
---------------
              0
 
SQL> select bitand(1.9,0.9) from dual;
 
BITAND(1.9,0.9)
---------------
              0
 
小结:
      1,两个运算符,各转化为二进制,然后一一对应,以二进制的and与进行运算
      然后把最终产生的结果集由二进制转化为越来十进制
      2,如两个表达式为整数,直接转化为二进制
      3,如两个表达不为整数,直接截断为

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-751792/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb 工作经历: 中国普天 北京科蓝 北京云和恩墨 北京神州新桥

注册时间:2008-04-04

  • 博文量
    2189
  • 访问量
    12690134