web-dev-qa-db-ja.com

文字列に数字が含まれているかどうかを確認する

MySQLフィールドの文字列に数字が含まれているかどうかを確認してから削除するにはどうすればよいですか?

表の例:

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

私が考えることができる唯一の方法は、各数値を個別に実行してLIKE '%1%' OR LIKE '%2%'などを使用することです。しかし、より簡単な方法は?

24
pjau

MySQL Regexメソッド を確認してください。次のようなものが動作するはずです。

SELECT * FROM table WHERE tag REGEXP '[0-9]'
58
Jason McCreary
SELECT * 
FROM clients
WHERE name REGEXP '^[[:digit:]]+$'
ORDER BY `clients`.`country_id` DESC 
LIMIT 0 , 30

これが数字のみの文字列を探している場合の答えです

4
user3200518