【问题标题】:Bitwise operations in MonetdbMonetdb 中的按位运算
【发布时间】:2016-03-10 19:54:14
【问题描述】:

我是 Monetdb 的新手。我主要使用 Postgresql,但想检查 Monetdb 性能。在 Postres 中,我的 bit() 类型的列填充了 0 和 1。然后我在该列上将每一行与所有其他行进行按位与比较。 Monetdb 没有 bit() 类型,所以我使用了文本。任何想法如何在 monetdb 中进行按位 AND 以及我应该使用哪种类型的列?我试过的查询:

select a.sentenecid, b.sentenecid, a.sentence AND b.sentence from test a, test b;

【问题讨论】:

    标签: monetdb


    【解决方案1】:

    Monetdb 通过计算器模块支持整数数据类型的位运算符,如 here 所述。

    因此,您只需将列声明为整数,并在 SQL 查询中使用按位运算符 &、|、^、>。

    例如,使用 monetdb 版本 Jul2015-SP2 进行测试:

    // bitwise AND. Result = 1
    Select 1 & 3; 
    
    // bitwise OR. Result = 3
    Select 1 | 3;    
    
    // bitwise XOR. Result = 2
    Select 1 ^ 3;    
    
    // Left bit shift. Result = 4
    Select 2 << 1;    
    
    // Right bit shift. Result = 1
    Select 2 >> 1;    
    

    【讨论】:

      猜你喜欢
      • 2021-12-20
      • 2011-02-26
      • 2021-10-14
      • 2011-08-25
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多