2010-07-17 46 views
20

Làm cách nào để kiểm tra xem chuỗi trong trường MySQL có chứa số sau đó xóa chúng không?Kiểm tra xem chuỗi có chứa số

Ví dụ bảng:

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

Cách duy nhất tôi có thể nghĩ là để làm mỗi số cá nhân và sử dụng LIKE '% 1%' OR LIKE '% 2%' vv Nhưng có phải là một cách dễ dàng hơn?

Trả lời

40

Khám phá MySQL Regex methods. Một cái gì đó như sau đây sẽ làm việc.

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

PS: Lệnh ' '' dấu ngoặc kép là cần thiết (tôi đã dành hơn một giờ cố gắng '" 'mà không có thành công) – aleskva

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

này là câu trả lời nếu bạn đang tìm kiếm chuỗi với chỉ số

+1

Tôi nghĩ rằng OP đang tìm kiếm các chuỗi có chứa * số, vì vậy bạn có thể xóa '^' và '$' khỏi regexp –

Các vấn đề liên quan