以元音开头和结尾的SQL字符串 - 寻找快捷方式

时间:2016-05-12 14:53:55

标签: mysql sql

我有一个关于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...........; 

但感觉必须有一条捷径。我只是不知道它是什么。 谢谢!!

2 个答案:

答案 0 :(得分:3)

与原始查询相比,使用REGEXP更加美观的一种方法是使用WHERE INSUBSTRING()

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]$'