Następujący przykład pokazuje jak stosować przeszukujące wyrażenie CASE aby właściwie sprawdzać Null:

SELECT CASE WHEN i IS NULL THEN 'wynik Null' -- To jest zwrócone kiedy i jest NULL WHEN i = 0 THEN 'zero' -- To jest zwrócone kiedy i = 0 WHEN i = 1 THEN 'jeden' -- To jest zwrócone kiedy i = 1 END FROM t;

W przeszukującym wyrażeniu CASE, tekst 'wynik Null' jest zwrócone dla wszystkich wierszy w których i jest Null.

Ograniczenia definiowane Główne miejsce gdzie logika trójwartościowa krzyżuje się z językiem definicji danych (DDL) to zdefiniowane ograniczenia. Definiowane ograniczenie umieszczone na kolumnie działa pod nieco zmienionymi regułami, niż klauzula DML WHERE. Podczas gdy klauzula DML WHERE musi być rozwinięta do Prawda dla wiersza, ograniczenie definiowane nie może się rozwinąć do Fałsz. To znaczy, że ograniczenie definiowane powiedzie się jeśli wynik to Prawda lub Nieznany. Następująca przykładowa tabela ze zdefiniowanym ograniczeniem zabrania wstawienia każdej liczby całkowitej, ale pozwala na wstawienie Null, gdyż wynik sprawdzenia zawsze jest rozwijany do Nieznany dla Null.

CREATE TABLE t ( i INTEGER, CONSTRAINT ck_i CHECK ( i < 0 AND i = 0 AND i > 0 ) );