我有一个名为world的表,我应该选择其名称之间没有空格的国家/地区的名称,该名称包含所有英文字母的元音。我尝试了这个,但它不起作用:
select name from world where name not like '% %' and name like '%a%e%i%o%u%'
我无法在此提供表格结构和内容,因为我无法访问整个表格的内容。基本上我想知道我必须使用的正则表达式。
答案的一个例子是:'莫桑比克'
答案 0 :(得分:3)
像这样使用CONTAINS(column, string)
:
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
声明:
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%";
答案 1 :(得分: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%'
不计算大写字母。
答案 2 :(得分:2)
您可以使用 REGEXP 归档所需的结果。下面的正则表达式模式意味着名称必须包含所有英文字母的元音。
SELECT name
FROM world
WHERE name REGEXP '[aeiou].*[aeiou].*[aeiou].*[aeiou].*[aeiou]'