Что такое эквивалент MySQL функции Nz
в Microsoft Access? Является ли Nz
стандартом SQL?
В Access функция Nz
позволяет вернуть значение, когда вариант имеет значение null. Источник
Синтаксис для функции Nz
:
Nz ( variant, [ value_if_null ] )
Что такое эквивалент MySQL функции Nz
в Microsoft Access? Является ли Nz
стандартом SQL?
В Access функция Nz
позволяет вернуть значение, когда вариант имеет значение null. Источник
Синтаксис для функции Nz
:
Nz ( variant, [ value_if_null ] )
Функция COALESCE()
выполняет то, что вы описываете. Это стандартный SQL, и он должен поддерживаться во всех базах данных SQL.
Функция IFNULL()
не является стандартным SQL. Только некоторые бренды баз данных поддерживают эту функцию.
Вы можете посмотреть IFNULL
или COALESCE
. Если я правильно помню, IFNULL
работает для MySQL.
COALESCE делает то, что запрашивает OP, равно как и IFNULL:
SELECT Nz(MightBeNullVar, 0) FROM ... (MS Access version)
SELECT COALESCE(MightBeNullVar, 0) FROM ... (MySQL version)
SELECT IFNULL(MightBeNullVar, 0) FROM ... (MySQL version)
Разница заключается в том, что COALESCE может выполнять поиск по нескольким переменным и возвращать первый ненулевой:
SELECT COALESCE(MightBeNullVar, MightAlsoBeNullVar, CouldBeNullVar, 0) FROM ... (MySQL version)
каждый из них вернет 0 (ноль), если ни одно из значений не имеет заданного значения (ноль).
IFNULL (довольно бессмысленно) быстрее. Вероятно, есть и другие лучшие вещи для оптимизации вашего запроса, прежде чем беспокоиться о проблемах с IFNULL и COALESCE. Если у вас есть несколько вещей для проверки, используйте COALESCE. Если у вас есть только одно значение для проверки, используйте IFNULL.
Возможно, зная, какая функция MS Access NZ() действительно будет полезной (перед ответом на совершенно неверные предложения). Тест функции NZ() для Null и заменяет нуль пустой строкой, ноль или необязательно значение, которое вводит пользователь.
COALESCE даже не приближается, на самом деле он возвращает Null, если нет никаких значений Null в "List???"
Функция IFNULL() - это то, что вы ищете.
http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html
Посмотрите на нулевой безопасный оператор <= >
Может быть, это может помочь: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html#operator_equal-to