有没有办法查询mysql并只提取数字结果?

rac*_*420 1 mysql

我有这个简单的查询,并想知道是否有可能只拉信息arc只等于数字而不是文本.

码:

$sql = mysql_query("SELECT * FROM `comics` ORDER BY `id` DESC LIMIT 20");
Run Code Online (Sandbox Code Playgroud)

pau*_*sm4 7

AFAIK,MySql中没有"IsNumeric()"函数.

但是,您可以使用正则表达式:

如何检查MySQL中的值是否为整数?

我假设您要检查字符串值.一个很好的方法是REGEXP运算符,将字符串与正则表达式匹配.简单地做

select field from table where field REGEXP '^-?[0-9]+$';
Run Code Online (Sandbox Code Playgroud)

这个速度相当快.如果您的字段是数字,只需测试

ceil(field) = field
Run Code Online (Sandbox Code Playgroud)

同理:

http://forums.mysql.com/read.php?60,1907,38488