错误:指定了非布尔类型的表达式

uttx8gqw  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(456)
select * from database where CREATION DATE >= "2018-11-10 00:00:00.0"

我是sql新手,这句话有什么不对吗??
我得到了这个错误,一个非布尔类型的表达式,在需要条件的上下文中指定

6uxekuva

6uxekuva1#

在mysql中,我建议使用backticks来转义列名和日期的单引号。你也不需要时间成分。
所以:

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

标准转义字符是双引号,因此您也可以将其用作标识符:

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'
bvjveswy

bvjveswy2#

我假设“创建日期”是您的实际字段。你需要在它周围加上括号,这样它就会把它看作一个字段。

SELECT * 
FROM database 
WHERE [CREATION DATE] >= "2018-11-10 00:00:00.0"

相关问题