Monetdb中的按位操作

时间:2016-03-10 19:54:14

标签: monetdb

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

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

1 个答案:

答案 0 :(得分: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;