Funkcja NVL(), bardzo popularna w środowisku bazy danych Oracle, nie jest zgodna ze standardem ANSI SQL. Czy można ją czymś zastąpić, aby kod zgodny był ze standardem ANSI?
Funkcja NVL(), bardzo popularna w środowisku bazy danych Oracle, nie jest zgodna ze standardem ANSI SQL. Czy można ją czymś zastąpić, aby kod zgodny był ze standardem ANSI?
Funkcja NVL() powszechnie stosowana w Oracle jest faktycznie szczególnym przypadkiem funkcji COALESCE. Funkcja ta wchodzi w skład standardu ANSI SQL i jest dostępna na wszystkich serwerach baz danych obsługujący ANSI SQL. COALESCE przyjmuje zmienną liczbę argumentów wymienionych po przecinku i zwraca pierwszą z listy wartość nie będącą NULL-em:
select coalesce(kol1, kol2) from dual;
Powyższe wywołanie ilustruje wariant "emulacji" funkcji NVL przy użyciu COALESCE.