2017-08-31 6 views
2

私は名前の間にスペースを入れない国の名前を選択するはずのworldというテーブルを持っています。英語のアルファベットの母音。私はこれを試してみましたが、それは動作していない:名前に母音がある国を選択するMySQLクエリを書く

select name from world where name not like '% %' and name like '%a%e%i%o%u%' 

私は、テーブル全体のコンテンツへのアクセスを持っていないので、私はここでは、テーブルの構造と内容を与えることはできません。基本的に私は使用する正規表現を知りたい。

答えの例は次のとおりです。「モザンビーク」

答えて

2

一つの簡単な方法は、おそらく最も効果的ではないが、することは次のようになります。

select name from world where name not like '% %' and name like '%a%' and name like '%e%' and name like '%i%' and name like '%o%' and name like '%u%' 

も同様に大文字を数えていません。

SELECT name FROM world 
WHERE 
NOT CONTAINS(name, " ") 
AND CONTAINS(name, "a") 
AND CONTAINS(name, "e") 
AND CONTAINS(name, "i") 
AND CONTAINS(name, "o") 
AND CONTAINS(name, "u"); 

それともLIKE文を使用して:そのような

3

使用CONTAINS(column, string)

SELECT name FROM world 
WHERE 
name NOT LIKE "% %" AND 
name LIKE "%a%" AND 
name LIKE "%e%" AND 
name LIKE "%i%" AND 
name LIKE "%o%" AND 
name LIKE "%u%"; 
2

あなたがしたいことを結果としてアーカイブするREGEXPを使用することができます。以下の正規表現パターンは、その名前に英語アルファベットの母音がすべて含まれていなければならないことを意味します。

SELECT name 
FROM world 
WHERE name REGEXP '[aeiou].*[aeiou].*[aeiou].*[aeiou].*[aeiou]' 
関連する問題