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

MySQLのSUBSTRING()関数でフィールドから文字列の一部を抽出する方法

MySQLでは、SUBSTRING()関数を使うことで、テーブルのフィールド(カラム)に格納された文字列の一部を簡単に取り出すことができます。本記事では、実際のサンプルコードと実行結果をもとに、具体的な使い方を解説します。

SUBSTRING()関数の基本構文

基本的な構文は以下のとおりです。

SELECT SUBSTRING(カラム名, 開始位置, 文字数) FROM テーブル名;

第1引数に対象のカラム名、第2引数に抽出を開始する位置(先頭は1)、第3引数に抽出する文字数を指定します。

サンプルテーブルの作成

まず、動作確認用のテーブルを作成しましょう。

mysql> CREATE TABLE DemoTable
    (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Title longtext
    );
Query OK, 0 rows affected (0.57 sec)

次に、INSERT文でレコードを挿入します。

mysql> INSERT INTO DemoTable(Title) VALUES('MySQL is a relational database management system');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable(Title) VALUES('MongoDB is a popular No SQL database');
Query OK, 1 row affected (0.18 sec)

登録データの確認

SELECT文ですべてのレコードを表示してみます。

mysql> SELECT * FROM DemoTable;

実行結果は以下のとおりです。

+----+--------------------------------------------------+
| Id | Title                                            |
+----+--------------------------------------------------+
| 1  | MySQL is a relational database management system |
| 2  | MongoDB is a popular No SQL database             |
+----+--------------------------------------------------+
2 rows in set (0.00 sec)

SUBSTRING()関数で文字列の一部を取得する

それでは、SUBSTRING()関数を使ってTitleカラムから文字列の一部を抽出してみましょう。ここでは、先頭の1文字目から21文字分を取得します。

mysql> SELECT SUBSTRING(Title,1,21) FROM DemoTable;

実行結果は以下のとおりです。

+-----------------------+
| substring(Title,1,21) |
+-----------------------+
| MySQL is a relational |
| MongoDB is a popular  |
+-----------------------+
2 rows in set (0.00 sec)

このように、各レコードのTitleカラムから指定した範囲の文字列だけが抽出されました。

まとめ

SUBSTRING()関数を使えば、SQLクエリだけで文字列の一部を柔軟に取得できます。開始位置や文字数を変えることで、先頭部分・中間部分・末尾部分など、目的に応じた抽出が可能です。なお、MySQLではSUBSTR()という別名でも同じ関数を呼び出せるため、好みに合わせて使い分けるとよいでしょう。

  1. MySQLで数値文字列に比較演算子を使用する方法をわかりやすく解説

    MySQLで数値文字列を比較するには?MySQLでは、「5-9」や「2-4」のようなハイフン区切りの数値文字列をそのまま比較することはできません。そんなときは、substring()関数とinstr()関数、さらにCASTを組み合わせることで、文字列から数値部分を取り出して比較演算子を使えるようになります。この記事では、実際にテーブルを作成しながら、数値文字列に対して比較演算を行う方法を順番に解説していきます。1. サンプルテーブルを作成するまずは、ユーザーIDと教育期間のギャップ(数値文字列)を格納するテーブルを作成しましょう。mysql> create table DemoTable

  2. C#で文字列のハッシュコード(HashCode)を取得する方法

    C#で文字列のハッシュコードを取得するには、GetHashCode()メソッドを使用します。このメソッドは、文字列の内容に基づいて整数値(int型)のハッシュコードを返します。ハッシュコードは、辞書(Dictionary)やハッシュセット(HashSet)などのハッシュベースのコレクションで、オブジェクトを高速に検索・比較するために利用されます。基本的な使い方以下の例では、2つの異なる文字列に対してGetHashCode()メソッドを呼び出し、それぞれのハッシュコードと等価性の判定結果を出力しています。using System; public class Demo {