Les chaînes de bits sont des chaînes de 0 et de 1. Elles peuvent être utilisées pour stocker ou visualiser des masques de bits. Il y a deux types bits en SQL : bit( n ) et bit varying( n ), avec n un entier positif.
Les données de type bit doivent avoir une longueur de n bits exactement. Essayer de lui affecter une chaîne de bits plus longue ou plus courte déclenche une erreur. Les données de type bit varying ont une longueur variable, d'au maximum n bits ; les chaînes plus longues sont rejetées. Écrire bit sans longueur est équivalent à bit(1), alors que bit varying sans longueur indique une taille illimitée.
Lors du transtypage explicite (cast) d'une chaîne de bits en champ de type bit( n ), la chaîne obtenue est complétée avec des zéros ou bien tronquée pour obtenir une taille de n bits exactement, sans que cela produise une erreur. De la même façon, si une chaîne de bits est explicitement transtypée en un champ de type bit varying( n ), elle est tronquée si sa longueur dépasse n bits.
Voir la Section 4.1.2.3, « Constantes de chaînes de bits » pour plus d'information sur la syntaxe des constantes en chaîne de bits. Les opérateurs logiques et les fonctions de manipulation de chaînes sont décrits dans la Section 9.6, « Fonctions et opérateurs sur les chaînes de bits ».
Exemple 8.3. Utiliser les types de chaînes de bits
CREATE TABLE test (a BIT(3), b BIT VARYING(5)); INSERT INTO test VALUES (B'101', B'00'); INSERT INTO test VALUES (B'10', B'101'); ERROR: bit string length 2 does not match type bit(3) INSERT INTO test VALUES (B'10'::bit(3), B'101'); SELECT * FROM test; a | b -----+----- 101 | 00 100 | 101