MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで、文字列内で最初に出現する部分文字列の場所を見つけるにはどうすればよいですか?


MySQL LOCATE()関数を使用すると、文字列内で最初に出現する部分文字列の場所を見つけることができます。以下はそれを使用する構文です-

構文

LOCATE(Substring, String)

この関数では、Substringは出現位置を検索する必要がある文字列であり、stringは出現位置を検索する必要がある文字列です。

LOCATE()関数の引数として、両方の文字列(つまり、検索されるサブ文字列とサブ文字列が検索される文字列)を渡す必要があります。

mysql> Select LOCATE('Good','RAM IS A GOOD BOY')As Result;
+--------+
| Result |
+--------+
|     10 |
+--------+
1 row in set (0.00 sec)

上記の例では、サブストリング「good」の最初の出現はストリング「RAM IS A GOOD BOY」の10番目の位置から始まるため、出力は10です。

ただし、位置を表す別の引数を使用して、検索の開始点を管理することもできます。位置引数を指定したLOCATE()の構文は次のようになります-

LOCATE(Substring, String, position)

mysql> Select LOCATE('Good','Good, RAM IS A GOOD BOY')As Result;
+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

mysql> Select LOCATE('Good','Good, RAM IS A GOOD BOY',5)As Result;
+--------+
| Result |
+--------+
|     16 |
+--------+
1 row in set (0.00 sec)

上記の結果セットから、position引数を使用する場合の違いを確認できます。これを使用しない場合、デフォルトでは検索は1番目の位置から開始され、この例で位置引数として「5」を指定すると、5番目の位置から開始されます。


  1. C#の文字列から部分文字列を見つける方法は?

    文字列を設定する string s = "Tom Cruise"; ここで、部分文字列「Tom」を見つけて、Contains()メソッドを使用する必要があるとします。 if (s.Contains("Tom") == true) {    Console.WriteLine("Substring found!"); } 以下は、文字列から部分文字列を見つける方法を学ぶためのコードです- 例 using System; public class Demo {    public static

  2. Pythonで文字列内のn番目の部分文字列を見つける方法は?

    最大n+1分割で部分文字列を分割することにより、文字列内でn番目に出現する部分文字列を見つけることができます。結果のリストのサイズがn+1より大きい場合は、サブストリングがn回以上出現することを意味します。そのインデックスは、元の文字列の長さ-最後に分割された部分の長さ-部分文字列の長さという簡単な式で見つけることができます。 例 def findnth(string, substring, n):     parts = string.split(substring, n + 1)     if len(parts) <= n + 1: &nbs