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

MySQLのLEFT関数で文字列の左側から指定した文字数を取得する方法

MySQLのLEFT関数で文字列の左側から一部を取得する

文字列の先頭(左側)から指定した文字数だけ抽出したい場合には、MySQLのLEFT()関数を使用します。書式は「LEFT(カラム名, 取得する文字数)」となり、第1引数に対象の文字列、第2引数に抽出する文字数を指定します。

それでは、実際にテーブルを作成して動作を確認してみましょう。

1. テーブルの作成

まず、以下のコマンドでテーブルを作成します。

mysql> create table DemoTable
    -> (
    -> Title text
    -> );
Query OK, 0 rows affected (0.59 sec)

2. レコードの挿入

次に、insertコマンドを使ってテーブルにサンプルデータを挿入します。

mysql> insert into DemoTable values('Java database connectivity to MySQL database');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Python with django framework');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('C with data structure and algorithm');
Query OK, 1 row affected (0.33 sec)

3. 登録されたレコードの確認

select文を実行して、テーブル内のすべてのレコードを表示してみます。

mysql> select *from DemoTable;

実行すると、次のような結果が得られます。

+----------------------------------------------+
| Title                                          |
+----------------------------------------------+
| Java database connectivity to MySQL database |
| Python with django framework                |
| C with data structure and algorithm          |
+----------------------------------------------+
3 rows in set (0.00 sec)

4. LEFT関数で左側から文字を抽出する

ここからが本題です。MySQLで文字列の左側から指定した文字数を取得するには、以下のようにLEFT関数を使用します。この例では、Titleカラムの先頭10文字を抽出しています。

mysql> select left(Title,10) as Title from DemoTable;

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

+-----------------+
| Title           |
+-----------------+
| Java datab      |
| Python wit      |
| C with dat      |
+-----------------+
3 rows in set (0.00 sec)

このように「LEFT(Title, 10)」と指定することで、各レコードのTitleカラムから先頭10文字だけを取り出すことができます。なお、LEFT関数は文字数ベースで動作するため、UTF-8環境であれば日本語などのマルチバイト文字も正しく扱えます。また、右側から抽出したい場合はRIGHT関数を、部分一致検索にはLIKE句やSUBSTRING関数を組み合わせると便利です。

  1. MySQLで月の範囲を指定してレコードを取得する方法

    MySQLでは、YEAR()関数とMONTH()関数、さらにBETWEEN演算子を組み合わせることで、特定の月の範囲に該当するレコードを簡単に抽出できます。ここでは、前年の7月〜12月と当年の1月〜7月というように、年をまたいだ月の範囲でデータを取得する方法を解説します。 サンプルテーブルの作成 まず、テーブルを作成します。 mysql> create table DemoTable1795      (      Name varchar(20),      DueDate date  

  2. MySQLで列から最大値を取得する方法

    MySQLで列の最大値を取得するには?MySQLのテーブルから特定の列の最大値を取得するには、ORDER BY句とLIMIT句を組み合わせる方法が便利です。ここでは、実際にテーブルを作成し、データを挿入して、最大値を取得する手順を順番に解説します。1. テーブルを作成するまず、以下のコマンドでサンプル用のテーブルを作成します。mysql> create table DemoTable -> ( -> Value int -> ); Query OK, 0 rows affected (0.63 sec)2. レコードを挿入する次に、INSERTコ