检查字符串是否包含数字

pja*_*jau 23 mysql string numbers

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

示例表:

tbl_tags
 -------------
| id | tag    |
 -------------
| 1  | hello  |
| 2  | hello2 |
| 3  | 2hello |
| 4  | hel3lo |
 -------------
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一方法是单独执行每个数字并使用LIKE'%1%'或类似'%2%'等.但是必须有一个更简单的方法吗?

Jas*_*ary 56

查看MySQL Regex方法.像下面这样的东西应该工作.

SELECT * FROM table WHERE tag REGEXP '[0-9]'
Run Code Online (Sandbox Code Playgroud)

  • PS:'``引号是必要的(我花了一个多小时试试```没有成功) (4认同)

小智 6

SELECT * 
FROM clients
WHERE name REGEXP '^[[:digit:]]+$'
ORDER BY `clients`.`country_id` DESC 
LIMIT 0 , 30
Run Code Online (Sandbox Code Playgroud)

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

  • 我认为OP正在寻找*包含*数字的字符串,因此您可能只需从正则表达式中删除`^`和`$` (4认同)