MS Accessis on BIT tüüp selline, mille korral tehakse teisendus NULL=>FALSE
--Tulemuses 1 rida
--Tulemuses 0 rida
Samas tõelise BOOLEAN tüübi korral seda ei tehta. Näide PostgreSQList.
--Tulemuses 0 rida
--Tulemuses 1 rida
NULL tähistab antud juhul tõeväärtust UNKNOWN. Seega registreerisin väite, et pole teada, kas toode 1 on aktiivne või mitte. Vältimaks kolmevalentse loogika kasutamist, mille korral väite kontrolli tulemus võib olla TRUE/FALSE/UNKNOWN, tuleks veerule on_aktiivne deklareerida NOT NULL kitsendus.
CREATE TABLE Toode (toode_kood INTEGER,
on_aktiivne BIT DEFAULT TRUE,
CONSTRAINT pk_toode PRIMARY KEY (toode_kood));
INSERT INTO Toode (toode_kood, on_aktiivne)
VALUES (1, NULL);
SELECT Count(*) AS cnt
FROM Toode
WHERE on_aktiivne=FALSE;
--Tulemuses 1 rida
SELECT Count(*) AS cnt
FROM Toode
WHERE on_aktiivne IS NULL;
--Tulemuses 0 rida
Samas tõelise BOOLEAN tüübi korral seda ei tehta. Näide PostgreSQList.
CREATE TABLE Toode (toode_kood INTEGER,
on_aktiivne BOOLEAN DEFAULT TRUE,
CONSTRAINT pk_toode PRIMARY KEY (toode_kood));
INSERT INTO Toode (toode_kood, on_aktiivne)
VALUES (1, NULL);
SELECT Count(*) AS cnt
FROM Toode
WHERE on_aktiivne=FALSE;
--Tulemuses 0 rida
SELECT Count(*) AS cnt
FROM Toode
WHERE on_aktiivne IS NULL;
--Tulemuses 1 rida
NULL tähistab antud juhul tõeväärtust UNKNOWN. Seega registreerisin väite, et pole teada, kas toode 1 on aktiivne või mitte. Vältimaks kolmevalentse loogika kasutamist, mille korral väite kontrolli tulemus võib olla TRUE/FALSE/UNKNOWN, tuleks veerule on_aktiivne deklareerida NOT NULL kitsendus.
Hinda postitust:
Keskmine hinne : Pole veel hinnanguid!