PostgreSQL 7.4 Documentation
Prev | Fast Backward | Chapter 8. Data Types | Fast Forward | Next

# 8.6. Boolean Type

PostgreSQL provides the standard SQL type `boolean`. `boolean` can have one of only two states: "true" or "false". A third state, "unknown", is represented by the SQL null value.

Valid literal values for the "true" state are:

TRUE
't'
'true'
'y'
'yes'
'1'

For the "false" state, the following values can be used:

FALSE
'f'
'false'
'n'
'no'
'0'

Using the key words TRUE and FALSE is preferred (and SQL-compliant).

Example 8-2. Using the `boolean` type

    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

Example 8-2 shows that `boolean` values are output using the letters t and f.

> Tip: Values of the `boolean` type cannot be cast directly to other types (e.g., CAST (boolval AS integer) does not work). This can be accomplished using the CASE expression: CASE WHEN boolval THEN 'value if true' ELSE 'value if false' END. See also Section 9.12.

`boolean` uses 1 byte of storage.

Prev | Home | Next
Date/Time Types | Up | Geometric Types