

       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( et
       n)bit varying(, avec
       n)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(, la chaîne
        obtenue est complétée avec des zéros ou bien tronquée pour obtenir une
        taille de n)n bits exactement, sans que cela
        ne 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(, elle est tronquée
        si sa longueur dépasse n)n bits.
       
Voir la Section 4.1.2.5 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.
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
Une valeur pour une chaîne de bits nécessite un octet pour chaque groupe de huit bits, plus cinq ou huit octets d'en-tête suivant la longueur de la chaîne (les valeurs longues peuvent être compressées ou déplacées, comme expliqué dans Section 8.3 pour les chaînes de caractères).