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

MySQLで列の先頭n文字を取得する方法|LEFT()関数の使い方を解説

MySQLで列の先頭n文字を取得するには?

MySQLで列(カラム)の先頭n文字を取得したい場合は、LEFT()関数を使用します。LEFT()関数は、指定した文字列の左端から指定した文字数分の部分文字列を返す関数です。

基本構文

SELECT LEFT(カラム名, 文字数) FROM テーブル名;

それでは、実際のテーブルを使ってLEFT()関数の使い方を確認していきましょう。

1. テーブルの作成

まず、サンプル用のテーブルを作成します。

mysql> CREATE TABLE DemoTable
-> (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> CourseTitle TEXT
-> );
Query OK, 0 rows affected (0.65 sec)

2. レコードの挿入

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

mysql> INSERT INTO DemoTable(CourseTitle) VALUES('Java with Spring and Hibernate framework');
Query OK, 1 row affected (0.43 sec)

mysql> INSERT INTO DemoTable(CourseTitle) VALUES('Python Web Development');
Query OK, 1 row affected (0.22 sec)

3. 全レコードの確認

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

mysql> SELECT * FROM DemoTable;

出力結果

+----+------------------------------------------+
| Id | CourseTitle |
+----+------------------------------------------+
| 1 | Java with Spring and Hibernate framework |
| 2 | Python Web Development |
+----+------------------------------------------+
2 rows in set (0.00 sec)

4. LEFT()関数で先頭n文字を取得する

ここで、列の先頭20文字を取得するクエリを実行してみます。

mysql> SELECT LEFT(CourseTitle, 20) FROM DemoTable;

出力結果

+----------------------+
| left(CourseTitle,20) |
+----------------------+
| Java with Spring and |
| Python Web Developme |
+----------------------+
2 rows in set (0.00 sec)

このように、LEFT(カラム名, n)と指定するだけで、各レコードの先頭n文字を簡単に取得できます。取得した結果に別名を付けたい場合は、AS句を使うと出力の見出しをわかりやすくできます。

mysql> SELECT LEFT(CourseTitle, 20) AS ShortTitle FROM DemoTable;

補足:SUBSTRING()関数との関係

LEFT()関数はSUBSTRING(文字列, 1, n)と同等の動作をします。文字列の途中から切り出したい場合はSUBSTRING()を、末尾からn文字取得したい場合はRIGHT()関数を使うと便利です。また、LEFT()関数は文字数ベースで動作するため、日本語などのマルチバイト文字でも文字数を正しくカウントして切り出します。

  1. MySQLで列の値から先頭の1文字を取り出し、別の列に挿入する方法

    はじめにMySQLである列(カラム)の値から先頭の1文字を取り出し、それを別の列に格納したい場合があります。このようなときに便利なのが LEFT() 関数です。LEFT() 関数は、文字列の左端から指定した文字数だけを抽出することができます。ここでは、実際にテーブルを作成しながら、その手順を順番に解説していきます。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。ここでは「FirstLetter」(先頭文字を格納する列)と「Title」(元となる文字列の列)の2つの列を持つテーブルを定義します。mysql> create table DemoTable2036 

  2. MySQLで列の最大値を取得する方法をわかりやすく解説

    MySQLで特定の列の最大値を取得するには、MAX(columnName)関数を使用します。本記事では、その基本的な使い方に加えて、データベースやテーブルの設計に関する前提知識もあわせて解説します。MySQLのデータベースとテーブルの基礎MySQLをインストールする前に、まず使用するバージョンと配布形式(バイナリファイルか、ソースファイルからビルドするか)を決定することが重要です。新しく作成したばかりのデータベースには、当然ながらテーブルはまだ存在しません。データベース設計において最も重要なのは、以下の要素を決めることです。データベース全体の構造必要となるテーブルの一覧各テーブルに含まれる列(