Отсутствие значения отображается в Oracle при помощи ключевого слова NULL. В предыдущем разделе было показано , что переменные почти всех типов данных PL/SQL могут находиться в неопределенном состоянии (исключением являются ассоциативные массивы, экземпляры которых ни при каких условиях не могут быть неопределенны-ми). Обработка значений NULL
любого типа данных может вызывать определенные сложности у программиста, при этом строковые значения заслуживают особого упоминания.
В Oracle SQL и PL/SQL строковое значение NULL обычно неотличимо от литерала, состоящего из нулевого количества символов ( ' - две последовательные одинарные кавычки, между которыми нет никаких сим-волов). Например, следующее выражение будет вычислено как TRUE
и в SQL, и в PL/SQL:
'' IS NULL
Значение NULL ведет себя так, как если бы типом данных по умолчанию для него являлся VARCHAR2, но сервер Oracle будет пытаться выполнить его неявное преобразование к типу данных, соответствующему выполняемой операции. В некоторых ситуациях от вас может потребоваться явное приведение типов (с использованием такой синтаксической конструкции, как TO_NUMBER (NULL)
или CAST (NULL AS NUMBER)
).