首頁 > 資料庫 > mysql教程 > MySQL INSTR() 和 FIND_IN_SET() 函數有什麼不同?

MySQL INSTR() 和 FIND_IN_SET() 函數有什麼不同?

王林
發布: 2023-09-22 10:25:05
轉載
1132 人瀏覽過

MySQL INSTR() 和 FIND_IN_SET() 函数有什么区别?

眾所周知,這兩個函數都用於根據它們提供的參數搜尋字串,但它們之間存在一些顯著差異,如下所示

  • FIND_IN_SET()函數使用的字串清單本身就是一個包含以逗號分隔的子字串的字串。而 INSTR() 函數包含一個字串,它將從中尋找子字串第一次出現的位置(如果存在)。
  •  對於整數,FIND_IN_SET() 比 INSTR() 函數更適合。可以透過下面的範例來理解

範例

mysql> Select IF(INSTR('10,11,12,13',2) > 0,1,0) As Result;
+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.05 sec)

mysql> Select IF(FIND_IN_SET(2,'10,11,12,13') > 0,1,0)As Result;
+--------+
| Result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)
登入後複製

從上面範例的結果集中,我們可以看到INSTR() 函數傳回1 甚至2,因為參數中不存在字符串。但 FIND_IN_SET() 函數傳回 0,這是正確的答案。

以上是MySQL INSTR() 和 FIND_IN_SET() 函數有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板