Ошибка: задано выражение не булева типа - PullRequest
0 голосов
/ 10 января 2019
select * from database where CREATION DATE >= "2018-11-10 00:00:00.0"

Я новичок в SQL, что-то не так в этом утверждении ??

Я получаю эту ошибку, выражение не-логического типа, указанное в контексте, где ожидается условие

Ответы [ 2 ]

0 голосов
/ 10 января 2019

В MySQL я бы порекомендовал использовать обратные галочки для экранирования имени столбца и одинарных кавычек для даты. Вам также не нужен компонент времени.

Итак:

select *
from database
where `CREATION DATE` >= '2018-11-10'

Стандартный escape-символ - двойные кавычки, так что вы можете использовать их и для идентификатора:

select *
from database
where "CREATION DATE" >= '2018-11-10'

Но лучший подход состоит в том, чтобы удалить пространство, чтобы избежать необходимости:

alter table database rename column `CREATION DATE` to creation_date;

Тогда вы можете просто использовать:

select *
from database
where creation_date >= '2018-11-10'
0 голосов
/ 10 января 2019

Я предполагаю, что "ДАТА СОЗДАНИЯ" является вашим фактическим полем. Вам нужно заключить его в квадратные скобки, чтобы оно воспринималось как поле.

SELECT * 
FROM database 
WHERE [CREATION DATE] >= "2018-11-10 00:00:00.0"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...