我想知道为什么当我运行WHERE xyz< 5其中xyz是一个字符串,它仍然带回结果。如果我搜索“大于”或任何数学运算,例如> < < => =在字符串上它只返回零结果。
如果使用数学函数搜索字符串,我希望它带回零结果,并且我很困惑为什么它带回“LKJLK”的结果不可能比任何东西都大,因为它不是数字。这不应该是假的。谢谢你的帮助。
答案 0 :(得分:0)
一种选择是添加额外的WHERE
子句以确保该值为数字。例如:
SELECT Data
FROM table
WHERE Data > 10
AND Data REGEXP '^-?[0-9]+$';
这是sqlFiddle显示它的实际效果。
还有其他方法可以测试值是否为数字。搜索SO将为您提供更多方法。
答案 1 :(得分:0)
Select
USername
from
users
where username>' '
这将从用户名大于5个位置的用户中选择用户名。那是你在找什么?