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

MySQLのLEFT()関数を使ってテーブル列の先頭文字を抽出する方法

MySQLでテーブルの列に格納されたデータから先頭の指定文字数を取り出したい場合、LEFT()関数を使用します。この関数は、引数として指定した文字数分だけ左側(先頭)から文字列を返します。第1引数には対象となる列名を、第2引数には取得したい文字数を指定します。

サンプルデータの確認

ここでは、学生の試験情報を格納した「examination_btech」というテーブルを例に説明します。

mysql> Select * from examination_btech;
+-----------+----------+--------+
| RollNo    | Name     | Course |
+-----------+----------+--------+
| 201712001 | Rahul    | B.tech |
| 201712002 | Raman    | B.tech |
| 201712003 | Sahil    | B.tech |
| 201712004 | Shalini  | B.tech |
| 201712005 | Pankaj   | B.tech |
| 201712006 | Mohan    | B.tech |
| 201712007 | Yash     | B.tech |
| 201712008 | digvijay | B.tech |
| 201712009 | Gurdas   | B.tech |
| 201712010 | Preeti   | B.tech |
+-----------+----------+--------+
10 rows in set (0.00 sec)

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

例えば、学籍番号(RollNo)の先頭6文字だけを抽出したい場合は、次のようにLEFT()関数を使います。

mysql> Select LEFT(RollNo, 6) FROM examination_btech;
+-----------------+
| LEFT(RollNo, 6) |
+-----------------+
| 201712          |
| 201712          |
| 201712          |
| 201712          |
| 201712          |
| 201712          |
| 201712          |
| 201712          |
| 201712          |
| 201712          |
+-----------------+
10 rows in set (0.00 sec)

このように、すべての行から学籍番号の先頭6文字である「201712」が返されていることがわかります。この結果は、入学年度や学科コードなど、番号の一部だけを集計・分析したい場合に非常に便利です。

補足:AS句で見出しを見やすくする

デフォルトでは結果の列名が「LEFT(RollNo, 6)」と表示されますが、AS句を使えば任意の別名を付けることもできます。

mysql> Select LEFT(RollNo, 6) AS AdmissionYear FROM examination_btech;

また、逆に末尾から文字を抽出したい場合はRIGHT()関数、文字列の中間部分を抽出したい場合はSUBSTRING()関数を使用すると同様の操作が可能です。

  1. MySQLの列に特定の単語(値)が出現する回数を取得する方法【COUNT()関数】

    はじめにMySQLである特定の単語や値が、テーブルの列に何回出現するかを調べたい場合があります。たとえば「同じ名前の従業員が何人登録されているか」を確認したいときなどです。このような場合には、COUNT()関数を使用します。本記事では、サンプルテーブルを作成し、実際に特定の値の出現回数を取得する手順を解説します。1. サンプルテーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable -> ( -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -

  2. MySQLで一部の列名を除外してテーブルの列名を表示する方法

    MySQLでテーブルの列名一覧を取得する際、特定の列だけを除外したいケースがあります。そのような場合は、システムテーブルinformation_schema.COLUMNSとNOT IN句を組み合わせることで、簡単に実現できます。サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。顧客ID、氏名、年齢、国名、結婚有無を持つシンプルなテーブルです。mysql> create table DemoTable780 ( CustomerId int, CustomerName varchar(100), CustomerAge int, Custo