我写了这段代码(db2),它工作得很好,但我想知道,有没有一种更短的方法来写这段代码?
Select Distinct city
From station
Where city Like 'A%a'
Or city Like 'A%e'
Or city Like 'A%i'
Or city Like 'A%o'
Or city Like 'A%u'
Or city Like 'E%a'
Or city Like 'E%e'
Or city Like 'E%i'
Or city Like 'E%o'
Or city Like 'E%u'
Or city Like 'I%a'
Or city Like 'I%e'
Or city Like 'I%i'
Or city Like 'I%o'
Or city Like 'I%u'
Or city Like 'O%a'
Or city Like 'O%e'
Or city Like 'O%i'
Or city Like 'O%o'
Or city Like 'O%u'
Or city Like 'U%a'
Or city Like 'U%e'
Or city Like 'U%i'
Or city Like 'U%o'
Or city Like 'U%u';发布于 2017-07-07 02:49:02
我不是DB2专家,但这应该是相当可移植的:
WHERE LEFT(city,1) IN ('A', 'E', 'I', 'O', 'U')
AND RIGHT(city,1) IN ('a', 'e', 'i', 'o', 'u')您可能希望将其全部标准化为大写,以避免由于某种原因而以小写字母开头或以大写字母结尾的城市出现问题。
WHERE UPPER(LEFT(city,1)) IN ('A', 'E', 'I', 'O', 'U')
AND LOWER(RIGHT(city,1)) IN ('a', 'e', 'i', 'o', 'u')发布于 2020-08-14 15:50:48
您可以在MySQL中使用REGEXP来操作正则表达式
SELECT DISTINCT city
FROM station
WHERE city REGEXP '^[aeiou].*[aeiou]$';对于不熟悉正则表达式的人
^[aeiou] // Start with a vowel
.* // Any characters at any times
[aeiou]$ // End with a vowel发布于 2017-07-07 02:43:53
我不是DB2方面的专家,但我认为你可以在你喜欢的地方使用正则表达式。
Example:
Select Distinct city
From station
Where REGEXP_LIKE(city,'[aeiou].*[aeiou]')https://stackoverflow.com/questions/44956604
复制相似问题