最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決MySQL數(shù)據(jù)庫中文模糊檢索問題的方法

 更新時間:2007年11月09日 20:27:10   作者:  
在 MySQL下,在進行中文模糊檢索時,經(jīng)常會返回一些與之不相關(guān)的記錄,如查找 "%a%" 時,返回的可能有中文字符,卻沒有a字符存在。本人以前也曾遇到過類似問題,經(jīng)詳細閱讀MySQL的Manual,發(fā)現(xiàn)可以有一種方法很方便的解決并得到滿意的結(jié)果。

  希望通過“標題”對新聞庫進行檢索,關(guān)鍵字可能包含是中英文,如下SQL語句:

  以下為引用的內(nèi)容:


  
Code:
select id,title,name from achech_com.news where title like '%a%'


  返回的結(jié)果,某些title字段確定帶了“a”關(guān)鍵字,而有些則只有中文,但也隨之返回在檢索結(jié)果中。

  解決方法,使用 BINARY 屬性進行檢索,如:

  以下為引用的內(nèi)容:


  
Code:
select id,title,name from achech_com.news where binary title like '%a%'


  返回的結(jié)果較之前正確,但英文字母區(qū)分大小寫,故有時在檢索如“Achech”及“achech”的結(jié)果是不一樣的。知道了使用 BINARY 屬性可以解決前面這個問題,再看看 MySQL 支持的UCASE 及 CONCAT 函數(shù),其中 UCASE 是將英文全部轉(zhuǎn)成大寫,而CONCAT函數(shù)的作用是對字符進行連接,以下是我們完全解決后的SQL 語句:


  
Code:
select id,title,name from achech_com.news

  where binary ucase(title) like concat('%',ucase('a'),'%')

  檢索的步驟是先將屬性指定為 BINARY ,以精確檢索結(jié)果,而被 like 的 title內(nèi)容存在大小寫字母的可能,故先使用 ucase 函數(shù)將字段內(nèi)容全部轉(zhuǎn)換成大寫字母,然后再進行 like 操作,而 like 的操作使用模糊方法,使用 concat的好處是傳進來的可以是直接的關(guān)鍵字,不需要帶“%”萬用符,將“'a'”直接換成你的變量,在任何語言下都萬事無憂了。 當然你也可以這么寫:


  
Code:
select id,title,name from achech_com.news where binary ucase(title) like ucase('%a%')


  檢索的結(jié)果還算滿意吧,不過速度可能會因此而慢N毫秒。

相關(guān)文章

  • Mysql中replace與replace into的用法講解

    Mysql中replace與replace into的用法講解

    今天小編就為大家分享一篇關(guān)于Mysql中replace與replace into的用法講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • MYSQL批量UPDATE的兩種方式小結(jié)

    MYSQL批量UPDATE的兩種方式小結(jié)

    本文主要介紹了兩種MySQL批量UPDATE的方式,SQL的foreach循環(huán)和使用INSERT...ON?DUPLICATE?KEY?UPDATE,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • 深入淺析MySQL?Explain

    深入淺析MySQL?Explain

    這篇文章主要介紹了MySQL?Explain詳解,expain出來的信息有10列,分別是id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra,本文對每一字段進行逐一解釋,需要的朋友可以參考下
    2022-07-07
  • MySQL開啟配置binlog及通過binlog恢復(fù)數(shù)據(jù)步驟詳析

    MySQL開啟配置binlog及通過binlog恢復(fù)數(shù)據(jù)步驟詳析

    這篇文章主要給大家介紹了關(guān)于MySQL開啟配置binlog及通過binlog恢復(fù)數(shù)據(jù)的相關(guān)資料,binlog是MySQL最重要的日志,binlog是二進制日志,它記錄了所有的DDL和DML語句,除了查詢語句select、show等,需要的朋友可以參考下
    2024-06-06
  • MySQL七大JOIN的具體使用

    MySQL七大JOIN的具體使用

    本文主要介紹了MySQL七大JOIN的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 徹底卸載mysql 個人親測!

    徹底卸載mysql 個人親測!

    這篇文章主要為大家詳細介紹了徹底卸載mysql的具體步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Mysql如何解決死鎖問題

    Mysql如何解決死鎖問題

    這篇文章主要介紹了Mysql如何解決死鎖問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • MySQL遞歸sql語句WITH表達式實現(xiàn)方法代碼

    MySQL遞歸sql語句WITH表達式實現(xiàn)方法代碼

    SQL遞歸查詢語句是指通過遞歸方式對數(shù)據(jù)進行查詢的語句,下面這篇文章主要給大家介紹了關(guān)于MySQL遞歸sql語句WITH表達式實現(xiàn)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • Linux下mysql5.6.33安裝配置教程

    Linux下mysql5.6.33安裝配置教程

    這篇文章主要為大家詳細介紹了Linux下mysql5.6.33安裝配置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫權(quán)限的方法示例

    mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫權(quán)限的方法示例

    這篇文章主要介紹了mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫權(quán)限的相關(guān)資料,文中的介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-04-04

最新評論

建瓯市| 吴旗县| 余江县| 紫金县| 治多县| 长海县| 抚州市| 西吉县| 淳安县| 临武县| 东丰县| 长阳| 嘉兴市| 佛教| 宜宾市| 大新县| 星子县| 睢宁县| 罗平县| 双流县| 砀山县| 板桥市| 彭州市| 芜湖县| 阜城县| 衡南县| 达尔| 上思县| 凤城市| 北流市| 房产| 泰安市| 博湖县| 庆阳市| 兴城市| 广水市| 津南区| 辽阳市| 济源市| 甘泉县| 克拉玛依市|