Mysql sql中使用select子句获取记录时出现问题
我试图获取一个特定日期范围内的记录,该记录具有特定的标题 为此,我使用下面的查询Mysql sql中使用select子句获取记录时出现问题,mysql,sql,Mysql,Sql,我试图获取一个特定日期范围内的记录,该记录具有特定的标题 为此,我使用下面的查询 SELECT * FROM `table_name` WHERE `page_title` = 'Surfshark Review: Should we Surf the Internet Ocean with this VPN? (2019)' AND STR_TO_DATE(`datetime`, '%Y-%m-%d') BETWEEN STR_TO_DATE('2019-09-16'
SELECT * FROM `table_name`
WHERE `page_title` = 'Surfshark Review: Should we Surf the Internet Ocean with this VPN? (2019)'
AND STR_TO_DATE(`datetime`, '%Y-%m-%d')
BETWEEN STR_TO_DATE('2019-09-16', '%Y-%m-%d')
AND STR_TO_DATE('2019-09-22', '%Y-%m-%d');
SELECT `page_title`
FROM `table_name`
WHERE STR_TO_DATE(`datetime`, '%Y-%m-%d')
BETWEEN STR_TO_DATE('2019-09-16', '%Y-%m-%d')
AND STR_TO_DATE('2019-09-22', '%Y-%m-%d')
GROUP BY `page_title`;
当我使用这个查询时,它给我空值,没有任何错误,但当我使用下面的查询时
SELECT * FROM `table_name`
WHERE `page_title` = 'Surfshark Review: Should we Surf the Internet Ocean with this VPN? (2019)'
AND STR_TO_DATE(`datetime`, '%Y-%m-%d')
BETWEEN STR_TO_DATE('2019-09-16', '%Y-%m-%d')
AND STR_TO_DATE('2019-09-22', '%Y-%m-%d');
SELECT `page_title`
FROM `table_name`
WHERE STR_TO_DATE(`datetime`, '%Y-%m-%d')
BETWEEN STR_TO_DATE('2019-09-16', '%Y-%m-%d')
AND STR_TO_DATE('2019-09-22', '%Y-%m-%d')
GROUP BY `page_title`;
它向我展示了记录中的“Surfshark Review:我们应该用这个VPN在互联网海洋上冲浪吗?(2019)”,我不知道为什么会发生这种情况
有人能帮我吗。你的问题没有错。在严格的情况下看起来不错。。。也可能是数据问题 如果你这样工作
SELECT....
FROM ....
WHERE ( column like "%xxx%" ) -- a condition
OR
(
col_date BETWEEN "xxxx-xx-xx" AND "xxxx-xx-xx" -- a condition
AND anothercondition -- a condition
and anothercondition -- a condition
)
添加括号并更改and/OR运算符和之间的and/OR运算符会有所不同
要获得更多点击,您可以为关键字搜索创建动态脚本。您可以使用编程来生成查询的这一部分
(column like "%word%"
OR column like "%anotherword%"
OR column like "%anotherword%" )
尝试使用
like
和upper
upper(页面标题)=upper(您的声明在大写字母中)。将两者转换为上/下
,始终是一种良好的做法。它降低了字符串中出现不匹配的可能性。假设,Test\u String
是列中的实际值,但在where
子句中,您错误地编写了Test\u String
。这将导致排除行<代码>上/下将消除此错误概率,请不要将代码放入注释中。如果您有其他信息,请单击下面的链接回答您的问题。这是mysql。他正在使用勾号(`)您的查询没有问题,这可能是数据问题