[英]sql search for substring using LIKE vs locate()
我正在尝试编写查询以查找包含子字符串的字符串。 以下两种方法有什么区别?
SELECT * FROM table WHERE names LIKE '%bob%'
SELECT * FROM table WHERE locate('bob', names)
我最初学会了使用LIKE,但是出现“非法混合排序规则..”错误,我在比较英语(拉丁语)和中文(big5)。 当使用谷歌搜索方法来解决排序规则问题时,我遇到了locate(),当我尝试它时并没有抱怨排序规则。 只是想知道我是否可以继续使用locate()或它是否有任何缺点。
他们根本没有做同样的事情。 LIKE
是一个进行文本匹配的运算符,而LOCATE
是一个返回第一个匹配项位置的函数。
http://www.w3resource.com/mysql/string-functions/mysql-locate-function.php http://www.w3resource.com/mysql/string-functions/mysql-like-function.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.