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

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

王林
王林轉載
2023-09-22 10:25:051085瀏覽

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刪除