Bits de masquage dans Postgres
J'ai cette requête
SELECT * FROM "functions" WHERE (models_mask & 1 > 0)
et la j'obtiens l'erreur suivante:
PGError: ERREUR: opérateur n'existe pas: le caractère variable & entier
ASTUCE: en l'Absence d'opérateur correspond au nom donné et le type d'argument(s). Vous pourriez avoir besoin d'ajouter de type explicite jette.
La models_mask est un entier dans la base de données. Comment puis-je résoudre ce problème.
Merci!
OriginalL'auteur Silviu Postavaru | 2010-02-01
Vous devez vous connecter pour publier un commentaire.
Découvrez la docs sur les bits les opérateurs pour Pg.
Essentiellement
&
ne fonctionne que sur les deux types (généralement peu ou int), doncmodel_mask
devra êtreCAST
ed de varchar à quelque chose de raisonnable comme peu ou int:models_mask::int & 1
-ou-models_mask::int::bit & b'1'
Vous pouvez découvrir ce que les types de l'opérateur fonctionne avec l'aide de
\doS
danspsql
Voici un exemple rapide pour plus d'informations
OriginalL'auteur Evan Carroll