Blog literacki, portal erotyczny - seks i humor nie z tej ziemi
Robert Chwastek - Bazy danych
Moja
Spis treści
Poprzednia strona
Wartości
puste
Pola tabeli mogą przyjmować wartości puste, pod warunkiem,
że nie zostało to zabronione przez projektanta bazy danych. Wartość pusta
(NULL) nie jest równa wartości 0 i w wyniku obliczenia dowolnego wyrażenia,
którego argumentem jest NULL otrzymuje się również wartość pustą (NULL).
Funkcja NVL pozwala dokonać konwersji wartości aktualnej
(do niej samej) lub wartości pustej do wartości domyślnej. Działanie funkcji
NVL ilustruje przykład:
NVL(COMM, 0) zwróci wartość COMM, jesli nie jest to wartość
pusta lub 0 jeśli COMM ma wartość NULL.
Większość funkcji grupujących ignoruje wartość NULL. Np.
zapytanie, którego zadaniem jest obliczenie średniej z pięciu następujących
wartości: 1000, NULL, NULL, NULL i 2000 zwróci 1500 ponieważ (1000 + 2000)/2
= 1500.
Jedyne operatory porównania, które można użyć do wartości
pustej to IS NULL i IS NOT NULL. Jeśli zostanie użyty jakikolwiek inny
operator porównania do wartości pustej, to wynik jest nieokreślony. Ponieważ
NULL reprezentuje brak wartości, więc nie może on być równy ani nierówny
jakiejkolwiek innej wartości, również innemu NULL.
ORACLE traktuje warunki, których wynik jest nieznany jako
fałszywe. Tak więc warunek COMM = NULL jest nieznany, w związku z czym
rozkaz SELECT z takim warunkiem nie zwróci nigdy żadnego wiersza. Jednak
w takiej sytuacji ORACLE nie zgłosi informacji o wystąpieniu błędu.
Moja
Spis treści
Następna strona
Wszelkie komentarze lub poprawki prześlij proszę na adres:
Robert.Chwastek@kt.agh.edu.pl
© Robert Chwastek, listopad 1996