我看到MySQL中有Cast()个和Convert()个函数可以从值中创建整数,但是有没有办法判断一个值是否是整数?我正在寻找PHP中类似is_int()的东西.

推荐答案

我假设你想判断一个字符串值.一种很好的方法是使用REGEXP操作符,将字符串与正则表达式匹配.简单地做

select field from table where field REGEXP '^-?[0-9]+$';

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

ceil(field) = field

相反

Mysql相关问答推荐

在SQL中,为什么:=即使条件为False,也会在case声明中执行?我如何修复这个问题?

如何在WooCommerce中更新pm_Virtual.meta_Value=#39;否

为什么MySQL不同版本的值会变化?

Mysql,从两个不同的表中添加原始数据,从第一个表中获取所有内容,仅从第二个表中获取curdate内容

MySQL match against给出奇怪的结果

按优先级 for each 具有 status_id 的员工 Select 单行

如何使用减号运算符编写 sql 查询以返回缺少相应值的行?

最后一个字母 '%n' 的 mysql SELECT 字符串不起作用

需要按总金额检索前 3 个供应商,每个类别 - 子类别

如何将结果列中的不同值按其他列sql中的值带入单行

使用 SET 变量进行 MySQL 查询

了解 Spring 和数据库级别的事务?

MySQL 中的 LATERAL 语法 - 是否只是说左表首先执行以便下一个可以引用它?

是否可以从 .SQL 文件中计算表中的行数?

更改整数时间到日期格式 MM/DD/YY,如 python 中的 datetime.fromtimestamp

结果差异(MySQL 5.7 vs MySQL 8.0)

在mysql中将纪元数转换为人类可读的日期

是否可以在内部连接期间重命名连接列?

如何在 MySQL 中为用户设置默认架构

在 MySQL 中仅 Select 仅包含字母数字字符的行