>= 和 <= 的 Mysql 查询未显示正确的结果

Posted

技术标签:

【中文标题】>= 和 <= 的 Mysql 查询未显示正确的结果【英文标题】:Mysql Query for >= and <= is not showing the correct result 【发布时间】:2013-11-05 09:22:29 【问题描述】:

我有一个表,其中包含名为“extension”的列及其 varchar 类型。现在查询 >= 和

这是我的问题。

SELECT *,date(calldate) as date,time(calldate) as time FROM data_table
where date(calldate) between '2010-10-01' and '2013-10-01'
and cast(extension as signed) >=00 And cast(extension as signed) >=11111
ORDER BY id asc LIMIT 0 , 50

在执行给定的查询结果时,只会出现“11111”的扩展名,而不是 00 和 11111 的扩展名。

任何帮助将不胜感激.. 提前谢谢..

【问题讨论】:

可能是因为你有&gt;=11111 而不是&lt;=11111 如果extenstion 必须大于或等于11111 它永远不会也是0 为什么要添加00?看来你认为它是一个字符串:/ SHOW CREATE TABLE -- calldate 是日期吗?还是日期时间? extension 是什么数据类型? 【参考方案1】:
cast(extension as signed) <=11111

【讨论】:

以上是关于>= 和 <= 的 Mysql 查询未显示正确的结果的主要内容,如果未能解决你的问题,请参考以下文章

mysql中,下面哪种查询效率比较高?

Codeigniter 未显示 MySQL 查询获取的数组的正确结果。

mysql查询详解

solr索引删除后索引文档数量未变

CAML 查询未正确排序

Lumen MySQL 查询未按预期处理 UTF8 值