ISNULL / IFNULL — MS Access против MySQL

#mysql #ms-access

#mysql #ms-access

Вопрос:

У меня есть приложение MS Access с серверной частью MySQL. Я пытаюсь отфильтровать столбец, содержащий нули. Я пробовал фильтровать с помощью:

 isnull(fieldname,0)<>'Rejected'
  

но он не возвращает никаких записей (которые он должен). Этот критерий работает в phpMyAdmin, но не в Access. Я получаю «неправильное количество аргументов» для isnull и «неопределенную функцию» для ifnull.

Комментарии:

1. Вы могли бы начать с руководства: office.microsoft.com/en-ca/access-help /… isnull() имеет только один аргумент и ЧИСТО проверяет на нулевость. у него нет функции «если значение равно нулю, возвращает что-то еще».

2. Вы имеете в виду использовать IIF ?

3. Используете ли вы сквозной запрос или запрос обрабатывается Access / поставщиком соединения?

Ответ №1:

Почему бы просто не сделать это?

 (fieldname <> 'Rejected' or fieldname is null)
  

Это будет работать в обеих базах данных и является стандартным SQL. (За исключением того, что Access предпочитает двойные кавычки для строк, а не одинарные кавычки.)