ホームページ  >  記事  >  データベース  >  MySQL INSTR() 関数と FIND_IN_SET() 関数の違いは何ですか?

MySQL INSTR() 関数と FIND_IN_SET() 関数の違いは何ですか?

王林
王林転載
2023-09-22 10:25:051038ブラウズ

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

#ご存知のとおり、両方の関数は、提供された引数に基づいて文字列を検索するために使用されますが、以下に示すように、両者の間にはいくつかの大きな違いがあります

#FIND_IN_SET() 関数で使用される文字列リスト自体は、カンマで区切られた部分文字列を含む文字列です。一方、 INSTR() 関数には文字列が含まれており、部分文字列が存在する場合は、その文字列から最初に出現する部分文字列が検索されます。
  • 整数の場合は、INSTR() 関数よりも FIND_IN_SET() の方が適しています。次の例から理解できます。
  • Example
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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。