mysql - 查询日期范围内也具有指定子字符串的行

标签 mysql sql date wildcard

我正在尝试查询 MySQL 数据库并返回给定日期范围内的所有记录,并且内容列中还包含子字符串“bank”。

我引用的“时间”字段的格式是mm/dd/yyyy hh:mm:ss

这是我提出的声明,但 MySQL Workbench 给我带来了问题:

SELECT * 
FROM blogs 
WHERE ((‘time’ BETWEEN “04/01/2011 00:00:00” AND “04/15/2011 23:59:59”) 
   AND (‘content’ LIKE ‘%bank%’))

最佳答案

试试这个怎么样:

SELECT * 
    FROM blogs 
    WHERE `time` BETWEEN '2011-04-01 00:00:00' AND '2011-04-15 23:59:59' 
        AND `content` LIKE '%bank%';

如果您的时间字段实际上是时间戳,则此方法有效。如果 time 不是时间戳,那么您将不得不使用类似于 McAdam331 的答案,但我希望您的数据库对此类数据使用正确的类型您要求它存储。

在值周围使用单'或双"引号,并在字段名称周围打勾`。我还将日期格式更改为 yyyy-mm-dd hh:mm:ss 和删除了一些不必要的括号。

http://sqlfiddle.com/#!9/730bd/1/0

如果您在发布此类问题时发布表格的结构,将会很有帮助,这样我们就可以确保给出正确的答案。

关于mysql - 查询日期范围内也具有指定子字符串的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30081666/

相关文章:

javascript - 从 $.get 函数中获取数据

PHP:如何使用 Y-m-d 获取日?

PHP MySql : SUM table value Where ="from-other-table"?(内连接)

php - 部分俄语SQL数据输出时末尾带有符号�

mysql - 增加表列参数

c# - SQL 到 LINQ - Case 语句

mysql - 高效查询、表桥/索引和结构

sql - 比较单列中的行值并相应地更新 SQL-Server 表中的标志

mysql - 在 MySQL 中添加日期字段验证

mysql - 是否可以在 MySQL 中循环获取销售数据?