MySql大于字符串

时间:2014-02-23 04:03:35

标签: mysql

我想知道为什么当我运行WHERE xyz< 5其中xyz是一个字符串,它仍然带回结果。如果我搜索“大于”或任何数学运算,例如> < < => =在字符串上它只返回零结果。

如果使用数学函数搜索字符串,我希望它带回零结果,并且我很困惑为什么它带回“LKJLK”的结果不可能比任何东西都大,因为它不是数字。这不应该是假的。谢谢你的帮助。

2 个答案:

答案 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个位置的用户中选择用户名。那是你在找什么?