我有一个 MySQL 数据库,其中包含一个表,其中包含特定车辆在许多不同日期的大量数据。在此表中有一个名为 time_stamp
的列,其中包含数据的获取日期,如下所示:
ID UnitID time_stamp data more_data
0 56 2016-08-10 12:01 asdf 12
1 57 2016-08-09 11:19 ghjk 34
2 57 2016-08-09 9:35 qwer 56
3 58 2016-08-09 1:16 tyui 78
我想选择表中 UnitID LIKE 57
和 time_stamp LIKE 2016-08-09%
的所有内容,以便返回:
ID UnitID time_stamp data more_data
1 57 2016-08-09 11:19 ghjk 34
2 57 2016-08-09 9:35 qwer 56
我已经尝试过 SELECT * FROM table_name WHERE time_stamp LIKE 2016-08-09% AND UnitID LIKE 57;
但我一直收到 错误代码:1054
告诉我“where 子句”中有一个未知列
。我对 MySQL 还是很陌生,但我通常可以在 MySQL Docs 的帮助下弄清楚我需要做什么。 ,但是这个我想不通。我也寻找过类似的问题,例如 this one here ,但我发现的任何东西都无法完全实现我想要的。
最佳答案
LIKE
用于字符串匹配,因此与更合适的运算符相比相对较慢。使用 WHERE 这样的 WHERE 查询会更好:
WHERE UnitID = 57 AND time_stamp BETWEEN '2016-08-09 00:00:00' AND '2016-08-09 23:59:29'
也就是说,MySQL 对您的查询的主要反对意见可能是您没有将 2016-08-09%
括在引号中。
关于mysql - 选择 all_data WHERE value_in_column LIKE specific_string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38903818/