2017-06-20 85 views
0

这是“Hackerrank”SQL通配符搜索问题

“从车站查询CITY(列)名称列表(表)不 开始与元音和不与元音结尾的问题。您的结果不能包含重复项“ ”。

下面是我的答案,但我在Hackerrank中出现错误。我是否错过了非常愚蠢的东西?

SELECT DISTINCT [City] FROM [Station] WHERE [City] NOT LIKE '[aeiou]%[aeiou]' 
+1

“迪拜”以元音结尾,但会出现在你的结果是不是'[aeiou]%[aeiou]'' –

+0

@MattGibson但是问题是关于城市是从一个元音开始,以元音结尾,有一个'和'的条件,对吧? – Prakazz

+2

要求不明确。他们是否想排除“亚特兰大”,因为它在开始和结束时都是一个元音,或者他们是想排除一切以“Austin”开头还是以“Nashville”结尾的元音,包括那些同时兼有“亚特兰大” '?也许意思是第二种形式,其中列出的三个名字都不应出现。 – xQbert

回答

0

就打破它......

[City] NOT LIKE '[aeiou]%' AND [City] NOT LIKE '%[aeiou]' 
0

我要说起飞的开始和结束右括号aswel

[City] NOT LIKE 'aeiou%' AND [City] NOT LIKE '%aeiou' 
+0

这是不正确的。括号表示列出的或在一定范围内的任何字符。您的查询排除了字面上以'aeiou'开头或以'aeiou'结尾的单词,而不是任何一个字母。 – scsimon

+0

如果他想进入范围,应该包含括号。你说得对。我认为这是他不想要的信件 –

+0

OP声明“不以元音开头”,因此开始=单个字母。 – scsimon