假如有下列表格
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