[英]MySQL: Select row where column contains element from list
我試圖從列中包含列表元素的表中選擇所有行:類似於
Select * from `table` where `column` (contains anything from {£,$,%,^,&,...,/})
這基本上是非法的角色檢查。
有人可以幫忙嗎?
謝謝
您可以使用LIKE
進行模式匹配,
SELECT *
FROM `table`
WHERE `column` LIKE '%£%' OR
`column` LIKE '%$%' OR
`column` LIKE '%\%%' OR
`column` LIKE '%&%'
如果我理解正確,你想要所有具有非字母數字字符的行,即數字和字母以外的行
SELECT * FROM `table` WHERE `column` REGEXP '^[^a-zA-Z0-9]+$'
^
inside [ ]
charcter類意味着否定,而在正則表達式的開頭外部指定列值的開始。 $
implementation結束字符串值
SELECT * FROM table WHERE column LIKE '%\%%' OR column LIKE '%$%' OR column LIKE '%&%';
...等等。 '%char%'表示某處存在char,'%char'表示char位於字符串的末尾,'char%'表示它位於開頭。 '%\\ %%'表示搜索的char(%)是mysql使用的特殊字符,'\\'是必需的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.