一种解决mysql数据库中文模糊检索问题的方法
希望通过标题检索新闻库,关键词可包括中文和英文,如下所示:SQL:
下面提到:
U3000 U3000
代码:
选择ID、标题、从achech_com.news,标题是一%名
作为返回的结果,一些标题字段决定一个关键字只带一些中文,但它也返回到检索结果。
使用二进制属性检索的解决方案,例如:
下面提到:
U3000 U3000
代码:
选择ID、标题、从achech_com.news二进制标题是一%名
返回的结果是正确的,但英文字母是小的和敏感的,所以有时候检索如有鸟翼的狮身怪物,有鸟翼的狮身怪物是不同的结果。知道二进制属性的使用可以在问题面前解决,看MySQL ucase和concat函数,其中ucase英语都会为资本,而concat功能与特点,以下是SQL语句,我们完全解决了:
U3000 U3000
代码:
选择ID、标题、名称achech_com.news
在二进制ucase(标题)喜欢(concat,ucase('a'),%)
第一步是获取二进制指定的属性,以准确的搜索结果,而标题内容是信件的存在可能因此首先使用函数的字段内容都转换为大写字母,然后像操作,且操作使用模糊方法,使用concat的优势。可以直接的关键词,不需要bring'a'million %符号,直接进入你的变量,都是任何语言中没有恐惧。当然,你可以这样写,太。
U3000 U3000
代码:
选择ID、标题、从achech_com.news二进制ucase名称(标题)喜欢ucase
结果是令人满意的,但速度可能是N毫秒慢。