【发布时间】:2023-03-27 09:05:01
【问题描述】:
我想将我的日期与 mysql db 中的数据进行比较,但出现错误“#1064 - 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在附近使用的正确语法'WHERE '2014-06-09' >= date_start AND '2014-06-11'
SELECT name
FROM seminars
WHERE allowed_users LIKE '%1%'
AND (WHERE '2014-06-09' >= date_start AND '2014-06-11' <= date_end)
【问题讨论】:
-
您已经使用了两次
WHERE。只需删除第二个。 -
您不仅错误地使用了
WHERE,而且还将字符串视为Date。 -
@alfasin 将日期作为字符串进行比较在 MySQL 中始终适用于我。
-
@JeremyMiller 这不是 MySQL 的“魔法”——它对你有用,因为你维护了特定的格式,它也尊重字符串比较,例如:
yyyy-mm-dd。它有效的事实并不意味着它是好的做法。在您想要做任何具有“日期行为”(例如添加一天)的事情的那一天,您将失败。 -
@alfasin 啊,所以如果区域设置不同(或类似),那么格式将不同,查询将不会按预期执行。谢谢...今晚我在尝试提供帮助的同时学到了很多东西。