Распечатать страницу

Функции и команда для NULL в VFP

« Назад

Функция

ISNULL(eExpression)

возвращает .T., если выражение eExpression вычисляется как NULL, или .F. – в противном случае.

Использование операции отношения "=" для определения NULL непригодно.

Пример:

someVar = .NULL.             && или someVar = NULL

? someVar                           && Напечатает: .NULL.

? IsNull(someVar)               && Напечатает: .T.

? someVar = .NULL.          && Напечатает: .NULL.

? Type("someVar")             && Напечатает: L

? VarType(someVar)          && Напечатает: X

Переменная, получив NULL, не изменяет своего типа, например:

store 5 to someVar

? VarType(someVar)          && Напечатает: N

store .NULL. to someVar

? VarType(someVar, .T.)    && Напечатает: N

Функция

NVL(eExpression1, eExpression2)

возвращает не NULL-значение одного из двух выражений: функция вернет eExpression2, если eExpression1 вычисляется как NULL; вернет eExpression1, если этот параметр отличен от NULL; вернет NULL, если оба параметра вычисляются со значением NULL.

Тип результата зависит от типа операндов и может быть Character, Date, DateTime, Numeric, Currency, Logical или NULL.

Функция используется для удаления NULL-значений из выражений, в которых NULL-значения недопустимы или неуместны.

Пример:

store .NULL. to glMyNull

clear

? Nvl(.T., glMyNull)           && Напечатает: .T.

? Nvl(glMyNull, glMyNull) && Напечатает: .NULL.

Команда

SET NULL ON | OFF

задает способ поддержки NULL-значений командами ALTER TABLE, CREATE TABLE и INSERT – SQL.

Опции:

ON – указывает, что все поля таблицы, созданные ALTER TABLE и CREATE TABLE, поддерживают NULL-значения. Впоследствии от поддержки NULL можно отказаться, сбросив в проектировщике таблицы флажок NULL в строке с определением поля.

Также опция ON задает, что INSERT – SQL будет пытаться вставить NULL-значения в поля таблицы, не указанные в списке полей команды. Такая попытка будет удачна, если поле поддерживает NULL.

Замечание. Если для хотя бы одного поля таблицы задана поддержка NULL, то общее число допустимых полей таблицы снизится с 255 до 254.

OFF – (по умолчанию) указывает, что все поля, созданные ALTER TABLE и CREATE TABLE, не поддерживают NULL. Впоследствии поддержку NULL можно задать, установив для соответствующего поля флажок NULL.

Команда INSERT – SQL будет вставлять чистые значения в поля таблицы, не указанные в списке полей команды.

Установка SET NULL сохраняется с текущей сессией данных.