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

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

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

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

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


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


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

  解決方法,使用 BINARY 屬性進(jìn)行檢索,如:

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


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


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


  
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)換成大寫字母,然后再進(jìn)行 like 操作,而 like 的操作使用模糊方法,使用 concat的好處是傳進(jìn)來的可以是直接的關(guān)鍵字,不需要帶“%”萬(wàn)用符,將“'a'”直接換成你的變量,在任何語(yǔ)言下都萬(wàn)事無憂了。 當(dāng)然你也可以這么寫:


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


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

相關(guān)文章

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

    Mysql中replace與replace into的用法講解

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

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

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

    深入淺析MySQL?Explain

    這篇文章主要介紹了MySQL?Explain詳解,expain出來的信息有10列,分別是id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra,本文對(duì)每一字段進(jìn)行逐一解釋,需要的朋友可以參考下
    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是二進(jìn)制日志,它記錄了所有的DDL和DML語(yǔ)句,除了查詢語(yǔ)句select、show等,需要的朋友可以參考下
    2024-06-06
  • MySQL七大JOIN的具體使用

    MySQL七大JOIN的具體使用

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

    徹底卸載mysql 個(gè)人親測(cè)!

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

    Mysql如何解決死鎖問題

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

    MySQL遞歸sql語(yǔ)句WITH表達(dá)式實(shí)現(xiàn)方法代碼

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

    Linux下mysql5.6.33安裝配置教程

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

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

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

最新評(píng)論

杭锦旗| 蒲城县| 砀山县| 雅江县| 阜平县| 临夏县| 科技| 贺兰县| 广汉市| 泌阳县| 泗洪县| 司法| 华坪县| 阳谷县| 铁岭县| 中卫市| 景德镇市| 德化县| 垦利县| 郸城县| 额尔古纳市| 桃园市| 株洲县| 精河县| 上高县| 德清县| 桐庐县| 乡城县| 化德县| 淄博市| 江津市| 卢湾区| 天等县| 疏勒县| 卢龙县| 湘潭市| 永登县| 邳州市| 平原县| 陆丰市| 萨迦县|