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

MySQLの文字列からサブ文字列を抽出するにはどうすればよいですか?


MySQL SUBSTRING()関数を使用して、文字列から部分文字列を抽出できます。基本的に、SUBSTRING()は、特定の位置から始まる文字列から指定された長さの部分文字列を返します。次のようなさまざまな形があります-

  • SUBSTRING(str、pos)
  • SUBSTRING(str FROM pos)
  • SUBSTRING(str、pos、len)
  • SUBSTRING(str FROM pos FOR len)

len引数のないフォームは、位置posで始まる文字列strから部分文字列を返します。 len引数を持つフォームは、位置posから始まる文字列strから長い部分文字列len文字を返します。 FROMを使用するフォームは、標準のMySQL構文です。 posに負の値を使用することも可能です。この場合、部分文字列の先頭は、文字列の先頭ではなく、文字列の末尾からのpos文字です。この関数のどの形式でも、posに負の値を使用できます。

mysql> SELECT SUBSTRING('Quadratically',5);
+---------------------------------------------------------+
| SSUBSTRING('Quadratically',5)                           |
+---------------------------------------------------------+
| ratically                                               |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT SUBSTRING('foobarbar' FROM 4);
+---------------------------------------------------------+
| SUBSTRING('foobarbar' FROM 4)                           |
+---------------------------------------------------------+
| barbar                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT SUBSTRING('Quadratically',5,6);
+---------------------------------------------------------+
| SUBSTRING('Quadratically',5,6)                          |
+---------------------------------------------------------+
| ratica                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql> Select SUBSTRING('foobarbar',-4);
+---------------------------+
| SUBSTRING('foobarbar',-4) |
+---------------------------+
| rbar                      |
+---------------------------+
1 row in set (0.05 sec)

SUBSTRING()関数の他に、MID()およびSUBSTR()関数も、文字列から部分文字列を抽出するために使用されます。どちらもSUBSTRING()関数の同義語です。


  1. Pythonの文字列からサブ文字列を取得するにはどうすればよいですか?

    Pythonでは、文字列データ型は文字の順序付けられたシーケンスです。すべてのシーケンスデータ型はスライスをサポートしています。スライス演算子「:」を使用すると、メイン文字列からサブ文字列を取得できます。 例 >>> string="Hello How are you?" >>> string[6:9] 'How' スライス演算子-には2つのオペランドが必要です。最初のオペランドは、目的の部分文字列の最初の文字のインデックスです。結果のサブストリングには、第2オペランドまでのインデックスにメインストリングの文字が含まれま

  2. Pythonで文字列内から部分文字列を抽出するにはどうすればよいですか?

    正規表現でグループキャプチャを使用して、文字列内から部分文字列を抽出できます。抽出する部分文字列の形式と周囲を知る必要があります。たとえば、ある行があり、その行から$ xxx、xxx.xxの形式でお金の情報を抽出したい場合は、次を使用できます。 import re text = 'The phone is priced at $15,745.95 and has a camera.' m = re.search('(\$[0-9\,]*.[0-9]{2})', text) if m:     print m.group(1) これにより、出