mysql - 选择 all_data WHERE value_in_column LIKE specific_string

标签 mysql select sql-like

我有一个 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 57time_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/

相关文章:

sql - 如何在 SQL where 子句中执行条件语句

php - 如何在不重新加载页面的情况下更新 mysql 数据库

mysql - 在 2 个表中选择匹配的字符串

sql - SQL Hive Hadoop-具有Like语句的多个通配符值

sql - 有没有办法在 SELECT * 之后添加额外的列?

html - 选择选中和其他选项显示不同?

mysql - 如何在 "\detail1\detail2\"上应用 SQL(转义 '\')?

javascript - 基于用户输入的 MySQL 查询 - 多个下拉列表

c# - Entity Framework 在加载实体时删除级联

java - 我应该使用哪种 SOLR 实现方法; 3 个问题?