我是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;
答案 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;