Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Pr�c�dent | Arri�re rapide | Chapitre 8. Types de donn�es | Avance rapide | Suivant |
Les champs de bits sont des cha�nes de 0 et de 1. Ils peuvent �tre utilis�s pour stocker ou visualiser des masques de bits. Il y a deux types champs de bits SQL: bit(n) et bit varying(n), o� n est un entier positif.
Les donn�es de type bit doivent avoir une longueur de exactement n bits. Essayer d'y 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, mais ne peuvent d�passer une taille de 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.
Note�: Lors d'un transtypage explicite (cast) d'une cha�ne de bits vers un champ de type bit(n), la cha�ne obtenue sera compl�t�e avec des z�ros ou bien tronqu�e, pour obtenir une taille d'exactement n bits, sans que cela produise une erreur. De la m�me fa�on, si une cha�ne de bits est explicitement transtyp�e vers un champ de type bit varying(n), elle sera tronqu�e si elle fait plus de n bits.
Note�: Avant PostgreSQL 7.2, les donn�es de type bit �taient toujours tronqu�es (ou compl�t�es avec des z�ros) silencieusement, que le transtypage soit explicite ou non. Ce comportement a �t� modifi� pour se conformer au standard SQL.
Voir Section 4.1.2.2 pour plus d'information sur la syntaxe des constantes de champ de bits. Les op�rateurs logiques bit � bit et les manipulations de cha�nes de bits sont d�crits dans Chapitre 9.
Exemple 8-3. Utilisation des types de champs 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
Pr�c�dent | Sommaire | Suivant |
Types d'adresses r�seau | Niveau sup�rieur | Tableaux |