Согласно официальной документации 11g
В настоящее время Oracle Database обрабатывает символьное значение нулевой длины как null. Однако это может измениться в будущих выпусках, и Oracle рекомендует не обрабатывать пустые строки так же, как пустые значения.
Рассмотрим функцию getVersion
, которая возвращает тип varchar2, который может быть ''
:
l_version := x.getVersion;
if l_version is null then
return 'V.1.0';
end if;
Это будет правильно работать в текущей версии Oracle 11g, но может сломаться, как только будущие версии Oracle будут обрабатывать ''
иначе, чем null
.
Единственный способ, которым я вижу приведенное выше доказательство будущего, это:
if l_version is null or l_version = '' then
Есть ли менее громоздкий способ?