Перейти к основному содержимому

Передача значений NULL в выражения

НА ЭТОЙ СТРАНИЦЕ

Передача значений NULL в выражения

Значения NULL передаются посредством выражения в соответствии с некоторыми логическими и весьма обоснованными правилами.

Функции

Общее правило заключается в том, что функции возвращают значение NULL, когда параметры выходят за пределы диапазона, для которого задана функция.

Example:  

  • asin(2) возвращает NULL
  • log(-5) возвращает NULL
  • round(A,0) возвращает NULL

В результате приведенных выше примеров функции, как правило, возвращают значение NULL, когда любой из требуемых для оценки параметров равен NULL.

Example:  

  • sin(NULL) возвращает NULL
  • chr(NULL) возвращает NULL
  • if(NULL, A, B) возвращает B
  • if(True, NULL, A) возвращает NULL 
  • if(True, A, NULL) возвращает A 

Исключением второго правила являются логические функции для проверки типа.

Example:  

  • isnull(NULL) возвращает True (-1)
  • isnum(NULL) возвращает False (0)

Арифметические и строковые операторы

Если значение NULL используется с любой стороны этих операторов, то возвращается значение NULL.

Example:  

  • A + NULL возвращает NULL
  • A - NULL возвращает NULL
  • A / NULL возвращает NULL
  • A * NULL возвращает NULL 
  • NULL / A возвращает NULL 
  • 0 / NULL возвращает NULL 
  • 0 * NULL возвращает NULL 
  • A & NULL возвращает A 

Реляционные операторы

Если значение NULL используется с любой стороны реляционных операторов, то действуют особые правила.

Example:  

  • NULL rel.op NULL возвращает NULL
  • A <> NULL возвращает True (-1)
  • A < NULL возвращает False (0)
  • A <= NULL возвращает False (0
  • A = NULL возвращает False (0
  • A >= возвращает False (0
  • A > NULL возвращает False (0