2010-07-17 148 views
20

如何检查MySQL字段中的字符串是否包含数字,然后删除它们?检查一个字符串是否包含数字

示例表:

tbl_tags 
------------- 
| id | tag | 
------------- 
| 1 | hello | 
| 2 | hello2 | 
| 3 | 2hello | 
| 4 | hel3lo | 
------------- 

我能想到的唯一的办法是单独做的每一个号码,并使用LIKE '%1%' OR LIKE '%2%'等。但有必须是一种更简单的方法?

回答

40

查看MySQL Regex methods。像下面的东西应该工作。

SELECT * FROM table WHERE tag REGEXP '[0-9]' 
+4

PS字符串:该'''引号是必要的(我花了一个多小时努力'“'无成功) – aleskva 2016-05-23 06:50:43

4
SELECT * 
FROM clients 
WHERE name REGEXP '^[[:digit:]]+$' 
ORDER BY `clients`.`country_id` DESC 
LIMIT 0 , 30 

这就是答案,如果你正在寻找的,只有数字

+1

我认为OP正在寻找包含*数字的字符串,所以你可能只需从正则表达式中删除'^'和'$' – 2014-01-16 01:48:14

相关问题