Oracle中神奇的BITAND函数
点击次数:31 次 发布日期:2008-11-22 16:31:49 作者:源代码网
|
两个参数,要默认转化为数值类型整数进行二进制按位与(AND)运算(逻辑上与代表乘,或代表加,,与门,或门,联想到串联和并联,伟大的编码的原理,相当有趣),结果再转化为二进制-10进制,TOAD文档举例了一个数据库的参数,然后分别和2的0次幂, 1次幂,进行运算, 其中结果是1, 2, 4 代表不同的含义,这样,再配合DECODE就实现了强大的一个栏位能表明多种意思。 详细参见TOAD 文档和下文: 返回两个数值型数值在按位进行 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 源代码网供稿. |
