2010-07-17 26 views
20

MySQL alanındaki bir dizenin bir sayı içerip içermediğini nasıl kontrol ederim sonra silinsin?Dize içerip içermediğini kontrol edin

Örnek tablo:

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

Aklıma gelen tek yolu tek tek her numara yapmak ve BENZER '% 1%' VEYA BENZER '% 2%' vb kullanmak Ama etmektir orada daha kolay bir yol olmalı? MySQL Regex methods üzerinden

cevap

40

kontrol edin. Aşağıdaki gibi bir şey çalışması gerekir. Yalnızca rakam

+4

PS ile dizeleri arıyorsanız – aleskva

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

bu

SELECT * FROM table WHERE tag REGEXP '[0-9]' 
yanıt: `` tırnak işareti (I olmadan `" `çalışırken bir saatten fazla harcadım gereklidir başarı)
+1

OP'nin * sayıları içerdiği dizeleri aradığını düşünüyorum, bu nedenle regexp'den '^' ve '$' sini silebilirsiniz –

İlgili konular