I Have a table called world in which i am supposed to select the name of countries which do not have spaces in between their name and the name contains all the vowels in English alphabet. I tried this but it is not working:

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

I can't give the table structure and contents here since i don't have access to the entire table's contents. Basically i want to know the regex that i have to use .

An example of the answer is : 'Mozambique'

3 Answers

Use CONTAINS(column, string) like that:

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"); 

Or with LIKE statement:

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%"; 

One simple way, although maybe not the most effective would be:

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%' 

Not counting uppercase letters as well.

You could use REGEXP to archive result that you want. The below regular expression pattern means that the name must contains all the vowels in English alphabet.

SELECT name FROM world WHERE name REGEXP '[aeiou].*[aeiou].*[aeiou].*[aeiou].*[aeiou]' 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.