2016-03-10 1 views
1

Je suis nouveau chez Monetdb. J'utilise principalement Postgresql, mais je veux vérifier la performance de Monetdb. Dans Postres j'ai une colonne de type bit() remplie de 0 et de 1. Ensuite, je compare chaque ligne à toutes les autres lignes avec AND au niveau du bit sur cette colonne. Monetdb n'a pas de type bit() donc j'ai utilisé du texte. Des idées comment faire au format binaire ET dans monetdb et quel type de colonne dois-je utiliser pour cela? La requête j'ai essayé:Opérations bitwise dans Monetdb

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

Répondre

1

Monetdb soutient les opérateurs binaires pour le type de données entier par module de calcul, tel que documenté here. Par conséquent, vous devez simplement déclarer votre colonne en tant qu'entier et utiliser les opérateurs de bits &, |, ^, < <, >> dans vos requêtes SQL.

Par exemple, tel que testé avec la version 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;