31  
查询码: 00000421
mysql判断数字_mysql 判断一字符串是否为数字
作者: 周杨 于 2021年12月21日 发布在分类 / 计算机应用 / 数据库 / MySql ,于 2021年12月21日 编辑

转自:https://blog.csdn.net/weixin_35385409/article/details/113141030

原代码中没有判断小数点.,我增加了小数点的判断

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;-- 空字符串

IF LOCATE('.',str,LOCATE('.',str)+1) > 1 THEN return 0; END IF; -- 多个小数点


SELECT str REGEXP '^[0-9.]*$' INTO iResult; -- 包含了除0-9和小数点以外的字符

IF iResult = 1 THEN

RETURN 1;

ELSE

RETURN 0;

END IF;

END $$

DELIMITER ;

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

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

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

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


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

select IsNum(说明) from TABLE_XX


 历史版本

备注 修改日期 修改人
CREAT 2021-12-21 14:59:59[当前版本] 系统管理员

知识分享平台 -V 5.1.4 -大信谛威