如题,不太清楚原因。数据库版本 mariadb 10.3
SELECT * FROM
(SELECT * FROM `000001_day` WHERE `securelevel` < 2) AS subtable
WHERE subtable.value >= '12.6';
这是一个简单的子表查询,先筛选 securelevel < 2 的,然后在筛选 value >12.6 的,工作正常,得到如下结果
date id value securelevel
2020-03-24 9123 12.61 1
2020-03-25 9123 12.87 1
2020-03-26 9123 13.06 1
2020-03-27 9123 13.15 1
2020-03-30 9123 12.94 1
但是如果我将条件改成大于等于 12.61 (正常情况下搜索结果不变,因为包含了第一列的 value ),但是搜索结果却变成
date id value securelevel
2020-03-25 9123 12.87 1
2020-03-26 9123 13.06 1
2020-03-27 9123 13.15 1
2020-03-30 9123 12.94 1
第一项消失了。
尝试了一些其他选项,等于运算都不太好使,大于小于倒是都工作正常。
求问各位带佬这是咋回事
1
black11black OP 比如如果搜索
SELECT * FROM (SELECT * FROM `000001_day` WHERE `securelevel` < 2) AS subtable WHERE subtable.value = '12.61'; 就会返回空结果,懵 |
2
q4487979711 2020-03-31 16:35:32 +08:00
12.6 的单引号去掉
|
3
black11black OP @q4487979711 没用,但感觉应该是浮点数引起的问题
|