PostgreSQLLa base de données la plus sophistiquée au monde.

Version anglaise

8.6. Type booléen

PostgreSQL™ fournit le type boolean du standard SQL ; voir Tableau 8.19, « Type de données booléen ». Ce type dispose de plusieurs états :« true » (vrai), « false » (faux) et un troisième état, « unknown » (inconnu), qui est représenté par la valeur SQL NULL.

Tableau 8.19. Type de données booléen

Nom Taille du stockage Description
boolean 1 octet état vrai ou faux

Les constantes booléennes peuvent être représentées dans les requêtes SQL avec les mots clés SQL TRUE, FALSE et NULL.

La fonction en entrée pour le type boolean accepte ces représentations, sous forme de chaîne de caractères, pour l'état « true » :

true
yes
on
1

et ces représentations pour l'état « false » :

false
no
off
0

Les préfixes uniques de ces chaînes sont aussi acceptés, par exemple t ou n. Les espaces avant ou après, ainsi que la casse, sont ignorés.

La fonction en sortie pour le boolean renvoie toujours soit t soit f, comme indiqué dans Exemple 8.2, « Utilisation du type boolean. ».

Exemple 8.2. Utilisation du type boolean.

CREATE TABLE test1 (a boolean, b text);
INSERT INTO test1 VALUES (TRUE, 'sic est');
INSERT INTO test1 VALUES (FALSE, 'non est');
SELECT * FROM test1;
 a |    b
---+---------
 t | sic est
 f | non est

SELECT * FROM test1 WHERE a;
 a |    b
---+---------
 t | sic est

Les mots clés TRUE et FALSE sont la méthode préférée (compatible SQL) pour l'écriture des constantes booléennes dans les requêtes SQL. Cependant, vous pouvez aussi utiliser les représentations sous forme de chaîne de caractères en suivant la syntaxe générique décrite dans Section 4.1.2.7, « Constantes d'autres types », par exemple 'yes'::boolean.

Notez que l'analyseur comprend automatiquement que TRUE et FALSE sont du type boolean, mais ce n'est pas le cas pour NULL car il peut avoir tout type. Donc, dans certains contextes, vous devrez convertir explicitement NULL vers le type boolean, par exemple NULL::boolean. À l'inverse, la conversion peut être omise d'une valeur booléenne représentée sous la forme d'une chaîne de caractères dans les contextes où l'analyseur peut déduire que la constante doit être de type boolean.