A-A+

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

2017年10月18日 编程技术 暂无评论

下面我们来看在mysql中如何来判断或查询字段中所有为整数的字段内容,希望此教程对你会有所帮助.

假如有下列表格:

  1. num_表名   
  2. id   value     
  3.  1   100     
  4.  2   32.12     
  5.  3   45     
  6.  4   98.1    

如何从表格中取出所有值为整数的数据呢?灵活的利用取余,轻松搞定,代码如下:

select * from num where value%1 = 0;

有条件性的存储过程判断,代码如下:

  1. DELIMITER $$   
  2.   
  3. DROP FUNCTION IF EXISTS `IsNum` $$   
  4.    
  5. CREATE FUNCTION `IsNum` (str VARCHAR(25)) RETURNS INT   
  6.    
  7. BEGIN   
  8.    
  9. DECLARE iResult INT DEFAULT 0;   
  10.   
  11. IF ISNULL(str) THEN return 0; END IF;-- NULL 字符串   
  12.    
  13. IF str = '' THEN return 0; END IF;-- www.phpfensi.com空字符串   
  14.    
  15. SELECT str REGEXP '^[0-9]*$' INTO iResult;   
  16.    
  17. IF iResult = 1 THEN   
  18.    
  19. RETURN 1;   
  20.    
  21. ELSE   
  22.    
  23. RETURN 0;   
  24.    
  25. END IF;   
  26.    
  27. END $$   
  28.   
  29. DELIMITER;   

关于 delimiter 的说明请查看文档 MySQL 中函数定义中 delimiter的说明,这个函数用来判断给定的字符串是否为函数,用法示例:

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

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

标签:

给我留言