Simulating BOOLEAN in Firebird
No BOOLEAN field in Firebird?
There is no built-in boolean field, but you have several options:1. use char(1)
2. use smallint
3. use domains
Domains are probably the best solution. You can create domain like this:
CREATE DOMAIN BOOLEAN
AS SMALLINT
CHECK (value is null or value in (0, 1));
Or
CREATE DOMAIN BOOLEANO AS
CHAR(3) NOT NULL
CHECK(VALUE IN ('YES', 'yes', 'NO', 'no'));
Later in table definition you can refer to it as a regular datatype.
CREATE TABLE t1
(
C1 VARCHAR(10),
B1 BOOLEAN,
B2 BOOLEAN NOT NULL
);