我有一个关于SQL的新手问题。是否可以在表中查询以元音开头和结尾的字符串。我知道我可以做以下事情......
SELECT ColumnName
FROM Table
WHERE ColumnName LIKE 'A%a' or 'E%a' or 'I%a' or 'O%a' or 'U%a' or
'A%e' or 'E%e' or 'I%e' or 'O%e' or 'U%e'...........etc...........;
但感觉必须有一条捷径。我只是不知道它是什么。 谢谢!!
答案 0 :(得分:3)
与原始查询相比,使用REGEXP
更加美观的一种方法是使用WHERE IN
和SUBSTRING()
:
SELECT ColumnName
FROM Table
WHERE LOWER(SUBSTRING(ColumnName, 1, 1)) IN ('a', 'e', 'i', 'o', 'u') AND
LOWER(SUBSTRING(ColumnName, CHAR_LENGTH(ColumnName), 1)) IN ('a', 'e', 'i', 'o', 'u')
答案 1 :(得分:2)
您可以使用REGEXP
。
SELECT ColumnName
FROM Table
WHERE ColumnName REGEXP '^[aeiouAEIOU].*[aeiouAEIOU]$'