zoukankan      html  css  js  c++  java
  • Mysql数据库like模糊查询中文字段不准确的临时解决办法

    在mysql下,在进行like检索时,有时候会返回一些与查询词不相关的记录,如查找 “%s%” 时,返回的结果中可能有中文字符,却没有s字符存在,这与数据库中文编码规则有关

    如希望查找title中含有字母s的所有新闻:  

    select * from test.news where title like '%s%'

    返回的结果中有一些包含s,而有些则只有中文,很郁闷(也很邪恶,嘿嘿)。

    测试了下,发现一种解决方法,就是使用 BINARY(是CAST(str AS BINARY)简短写法) 强制转换进行检索

    select * from test.news where binary title like '%s%'

    这样结果就比较准确了,但还有一个问题,就是字母区分大小写,检索的时候依然不正确,只好再转化一下了:

    select * from test.news where binary ucase(title) like  '%s%'

    如此,临时解决办法搞定,不过速度会变慢,希望以后的mysql版本能解决掉此问题。

  • 相关阅读:
    查找 Search
    [HEOI2016/TJOI2016]排序
    [SDOI2011\]染色
    [构造题选讲]
    [LNOI2014]LCA
    [POI2013]LUKTriumphal arch
    java取得某月最后一天
    设置上网代理服务器
    Richfaces改变我的编程方式
    Richfaces Style
  • 原文地址:https://www.cnblogs.com/see7di/p/2239664.html
Copyright © 2011-2022 走看看