这是我正在使用的表格......
我正在尝试“查找名称中包含三个或更多个的国家/地区”。
这是我目前的代码......
SELECT name FROM world
WHERE name LIKE '%aaa%'
world
包含name
和continent
。
我甚至关闭了吗?
答案 0 :(得分:4)
您的初始尝试仅匹配名称中包含三个相邻a
的国家/地区。请尝试以下方法:
SELECT name FROM world
WHERE name LIKE '%a%a%a%'
字符a
仅匹配字符a
(区分大小写取决于表和服务器,MS SQL at least)。字符%
将匹配任意数量的字符,任意次。我的查询中的七个字符意味着最多有七个组。例如:
Afghanistan
分为,
A
,fgh
,a
,nist
,a
和{{ 1}}。
n
分为Algeria
,,
A
,lgeri
,a
,然后没有剩余要包含,所以它不包含在匹配项中。
a
可以分为Madagascar
,Mad
,a
,g
,a
,sc
和{ {1}}。请注意,第一组包含a
,因为r
允许任何字符,包括a
。 (这里我假设模式匹配是贪婪的,这意味着它使捕获组尽可能大,这使得先前的组更喜欢以后的组。)