1

在使用 phpMyAdmin 的 MySQL 中,我尝试使用这个简单的查询来获取满足特定日期条件的行:

select * 
from student_invoice
where date_generated < '2012-01-01'

date_generated 是日期类型。我在 phpMyAdmin 中收到一条错误消息:

ERROR: Unclosed quote @ 64 STR: '

我已经关闭了所有报价,所以它没有意义。phpMyAdmin 版本是 2.11.9.6

4

4 回答 4

2

添加一个新答案,因为它与我的另一个无关。

根据这里的这个 bugzilla 帖子,您的版本存在这个错误!

升级到 2.11.11 或更高版本应该可以解决此问题。

于 2012-11-08T01:13:22.447 回答
1

这可能听起来很傻,但是您是否尝试过将日期用双引号括起来?

SELECT * 
FROM sometable
WHERE somedatecolumn < "2012-01-01"
于 2012-11-08T00:53:11.550 回答
0

确保这些实际上是围绕日期的单引号,而不是反引号。

于 2012-11-08T00:45:54.783 回答
0

不熟悉具体的错误。但是您可以尝试将静态日期转换为日期格式,以确保它与 datecolumn 格式相匹配。或者甚至同时铸造两者?IE:

  where cast(somedatecolumn as DATE) < cast('2012-01-01' as DATE)

不过我有种行不通的感觉。所以也许这个?:

  where somedatecolumn < cast('2012-01-01' as DATE)
于 2012-11-08T00:46:29.320 回答