Documentation PostgreSQL 8.0.25 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Chapitre 9. Fonctions et opérateurs | Avance rapide | Suivant |
Cette section décrit les fonctions et opérateurs pour examiner et manipuler les chaînes de bits, qui sont des valeurs du type bit et bit varying. En dehors des opérateurs de comparaison habituels, les opérateurs montrés dans Tableau 9-10 peuvent être utilisés. Les opérandes de chaînes de bits &, | et # doivent être de même longueur. Lors d'un décalage de bits, la longueur originale de la chaîne est préservée comme le montre les exemples.
Tableau 9-10. Opérateurs sur les chaînes de bits
Opérateur | Description | Exemple | Résultat |
---|---|---|---|
|| | concaténation | B'10001' || B'011' | 10001011 |
& | AND bit à bit | B'10001' & B'01101' | 00001 |
| | OR bit à bit | B'10001' | B'01101' | 11101 |
# | XOR bit à bit | B'10001' # B'01101' | 11100 |
~ | NOT bit à bit | ~ B'10001' | 01110 |
<< | décalage gauche bit à bit | B'10001' << 3 | 01000 |
>> | décalage droit bit à bit | B'10001' >> 2 | 00100 |
Les fonctions SQL suivantes fonctionnent sur les
chaînes de bits ainsi que sur les chaînes de caractères :
length
,
bit_length
,
octet_length
,
position
,
substring
.
De plus, il est possible de convertir des valeurs intégrales en ou à partir du type bit. Quelque exemples :
44::bit(10) 0000101100 44::bit(3) 100 cast(-44 as bit(12)) 111111010100 '1110'::bit(4)::integer 14
Notez que la conversion de << bit >> signifie la conversion de bit(1) et, du coup, il délivrera seulement le bit de poids faible de l'entier.
Note : Avant PostgreSQL 8.0, convertir une entier en bit(n) aurait copié les n bits les plus à gauche de l'entier alors que, maintenant, il copie les n bits les plus à droite. De plus, convertir un entier en une chaîne de bits d'une largeur plus grande que l'entier lui-même changera le signe côté gauche.
Précédent | Sommaire | Suivant |
Fonctions et opérateurs de chaînes binaires | Niveau supérieur | Correspondance de modèles |