Как использовать LIKE с полем даты в MS Access со значением NULL - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть приложение, которое позволяет частичный поиск по дате. Это не указывает, что часть даты. если кто-то введет «20», это может быть часть года или день месяца.

Приложение использует базы данных Access, где некоторые поля даты имеют значения NULL.

Я пытаюсь написать запрос с [поле даты] LIKE {критерии даты}.

Я начал преобразовывать поле даты в строку, используя cstr (поле даты), но значения NULL дают # значения ошибок.

SELECT * ,cstr(datefield) AS strdate FROM table1 

dateerror

Доступ имеет функцию ISNULL, но он принимает только один параметр, который возвращает истину или ложь, в отличие от ISNULL функция в SQL Сервер, который принимает два параметра, второй из которых является значением, используемым, если первый параметр имеет значение null.

Я предположил, что мог бы добавить «И поле даты НЕ НУЛЯ» в конце, но я хотел спросить, есть ли другие возможные решения для этого.

Тогда, когда я наконец-то добрался до самого запроса, он не дал никаких результатов.

SELECT * ,cstr(datefield) AS strdate 
FROM table1 
WHERE scan_date IS NOT NULL
AND cstr(datefield) LIKE '%20%'

Как бы я сделать запрос LIKE к полю даты в ESS

1 Ответ

1 голос
/ 10 апреля 2020

Вы можете использовать функцию Nz():

SELECT * , Nz(datefield) AS strdate 
FROM table
WHERE Nz(datefield) LIKE '*20*'

Но вы должны знать, что оператор подстановки для использования в Access - это не %, а *, и это причина, по которой вы не получаете никаких результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...