[精讚] [會員登入]
229

[Mysql/MariaDB] 使用 LOCATE, POSITION, INSTR來取代 like

[Mysql/MariaDB中使用LOCATE, POSITION, INSTR來取代 like的方法

此文完整連結 http://n.sfs.tw/10603

複製連結 [Mysql/MariaDB] 使用 LOCATE, POSITION, INSTR來取代 like@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2017-01-13 10:53:40 最後編修
2017-01-13 01:49:48 By 瘦河馬
 

Mysql 大家都會用這樣的語法:

SELECT `column` FROM `table` where `condition` like `%keyword%'

事實上,可以使用 locate 和 instr 這兩個函數來代替

SELECT `column` from `table` where locate('keyword', `condition`)>0
或是 locate 的別名 position
SELECT `column` from `table` where position('keyword' IN `condition`)

或是
SELECT `column` from `table` where instr(`condition`, 'keyword' )>0

locate、position 和 instr 的差別只是參數的位置不同(請仔細看上例),同時locate 多一個請始位置的參數外,兩者是一樣的:

範例:在`condition`中的第10個字開始尋找'keyword' 字串

SELECT `column` from `table` where locate('keyword', `condition`,10)>0

速度上這兩個函數比用 like 稍快了一點。

參考資料

[1] Mysql String Function http://dev.mysql.com/doc/refman/5.0/en/string-functions.html


原文 2010-06-19 03:19:49

你可能感興趣的文章

[MySQL/Mariadb] 正規表達式(regular express) mysql的正規表達式很詭異,很不能接受

[MYSQL] 把SELECT的結果UPDATE到表中 Mysql update select 出來的結果,一次完成

[Mysql/Mariadb] Left Join 和 Right Join 合併表單 SQL語法中的 Left Join 和 Right Join 很常用,但是我常會忘記,所以寫下來備忘。

[MySQL] FIND_IN_SET函數,把多筆條件判斷弄成字串 SQL 我們如果要查找某個欄位是否為某個值的時候,如果要判斷的條件很多,可以用這個函數

[Mysql] 修改欄位的自動索引值autoindex (auto_increment ) Mysql 新增、刪除、修改、查看欄位的自動索引值autoindex (auto_increment)

[MySQL] console mode 的亂碼處理 使用MySQL的console mode如果出現亂碼 在,要怎麼處理?

[MySQL/Mariadb] console 將查詢結果輸出到檔案 在mysql 的console中該如何將查詢結果輸出到檔案?

[Mysql] Mysqldump 的預設編碼 --default-character-set 有時Mysqldump 也得要指定編碼才不會造成匯出的亂碼

[Mysql/Mariadb] 全文檢索 fulltext index 關於 MySQL 的全文檢索

[Mysql] 使用索引來加速搜尋 只要是常常用到搜索條件的欄位,就應該把它設成索引鍵,有無設定的速度差可能會好幾倍

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[jQuery] 利用load()來達成ajax的寫法 jQuery中利用load()來達成ajax的寫法,也有人稱他是假的ajax,作法就是..

為什麼要買長達二十年的保單? 為什麼要買長達二十年的保單?找一個可以說服我買二十年保單的理由。

[HP DL380G7] 生效啟動第3,4片網卡/開啟或關閉內建的網卡 HP DL380G7 預設第3,4片網卡裝完系統後找不到,難道是壞了?要怎麼辦?

魔球中小女孩唱的歌 The show 魔球中小女孩唱的歌 The show

[CodeIgniter 3] 資料庫的使用方法整理1/2 --Select的使用 [CodeIgniter 3] 資料庫的使用方法整理:Select的使用