2013-08-25 45 views
3
SELECT school WHERE school LIKE '%suny at albany%'; 

这将导致Suny在奥尔巴尼。有没有办法用LIKE语句通过空格分隔MySql语句?

如果我输入:

SELECT school WHERE school LIKE '%suny albany%'; 

返回Nothing

有没有办法让它们之间有LIKE语句的空白字符分开。

这样当我进入'suny albany'时,它会返回'SUNY at Albany'。如下图所示:

SELECT school WHERE school LIKE '%suny%' AND school LIKE '%albany%'; 

回答

4

在中间使用通配符%也。

SELECT school WHERE school LIKE '%suny%albany%'; 

你也可以离开%周围的空间像

SELECT school WHERE school LIKE 'suny % albany'; 

防止匹配超级串像sunyys palbanyssunyalbany

4

使用另一个百分比符号,而不是空间的,像这样:

SELECT school WHERE school LIKE '%suny%albany%'; 
2

如果您想将两个目标词之间的可变文本限制为最多一个词,使用RLIKE用正则表达式:

SELECT school 
WHERE name RLIKE 'suny (\\w+)?albany'; 

这将匹配“纽约州立大学奥尔巴尼”,“奥尔巴尼纽约州立”但不是“在albany上晒太阳”。