SQL取出某字段中所有值为整数的数据

作者:袖梨 2022-11-14

假如有下列表格

num_表名

id value
1 100
2 32.12
3 45
4 98.1

如何从表格中取出所有值为整数的数据呢?

灵活的利用取余,轻松搞定:

代码如下 复制代码

select * from num where value%1 = 0;


方法二,有条件性的存储过程判断

代码如下 复制代码

DELIMITER $$


DROP FUNCTION IF EXISTS `IsNum` $$

CREATE FUNCTION `IsNum` (str VARCHAR(25)) RETURNS INT

BEGIN

DECLARE iResult INT DEFAULT 0;


IF ISNULL(str) THEN return 0; END IF;-- NULL 字符串


IF str = '' THEN return 0; END IF;-- www.111Cn.net空字符串


SELECT str REGEXP '^[0-9]*$' INTO iResult;

IF iResult = 1 THEN

RETURN 1;

ELSE

RETURN 0;

END IF;

END $$


DELIMITER ;


/* 关于 delimiter 的说明请查看文档 MySQL 中函数定义中 delimiter的说明

这个函数用来判断给定的字符串是否为函数, 用法示例:


select IsNum('12'); -- 结果为 1

select IsNum('12-'); -- 结果为 0

相关文章

精彩推荐