【MySQL】SUBSTRING()で列から先頭N文字を取得する方法
MySQLの列から先頭N文字を取得するには?
MySQLでは、SUBSTRING()関数を使うことで、列の値から先頭N文字を簡単に抽出できます。この記事では、実際にテーブルを作成し、データを登録したうえで、先頭10文字を取得するまでの手順を順番に解説します。
1. テーブルを作成する
まず、サンプル用のテーブルを作成しましょう。
mysql> create table DemoTable
(
Information text
);
Query OK, 0 rows affected (2.63 sec)
2. レコードを挿入する
insertコマンドを使って、テーブルにレコードを追加します。
mysql> insert into DemoTable values('MySQL is a structured query language');
Query OK, 1 row affected (0.13 sec)
3. 登録データを確認する
select文でテーブル内の全レコードを表示してみます。
mysql> select *from DemoTable;
実行結果は以下の通りです。
+--------------------------------------+ | Information | +--------------------------------------+ | MySQL is a structured query language | +--------------------------------------+ 1 row in set (0.00 sec)
4. 先頭N文字を抽出する
列から先頭N文字を取得するには、SUBSTRING(列名, 開始位置, 文字数)のように指定します。ここでは、先頭10文字を取り出す例を見ていきましょう。
mysql> select substring(Information,1,10) from DemoTable;
実行すると、次のような結果が得られます。
+-----------------------------+ | substring(Information,1,10) | +-----------------------------+ | MySQL is a | +-----------------------------+ 1 row in set (0.00 sec)
このように、開始位置を「1」、文字数を「10」と指定すれば、列の値の先頭から10文字だけを抜き出せます。
なお、SUBSTRING()の位置指定は「0」ではなく「1」から始まる点に注意してください。また、同様の機能を持つLEFT(列名, N)関数を使えば、よりシンプルに先頭N文字を取得することも可能です。
-
MySQLで予約語「from」を列名として使用する方法
MySQLで「from」を列名として使うには? MySQLでは「from」は予約語(リザーブドワード)として登録されているため、そのまま列名として使用するとエラーが発生します。しかし、バッククォート(`` ` ``)で囲むことで、予約語である「from」を列名として扱うことができます。 この記事では、実際にテーブルを作成し、「from」を列名としてデータの挿入や取得を行う手順を解説します。 1. バッククォートを使ってテーブルを作成する まず、列名「from」をバッククォートで囲んでテーブルを作成します。以下のSQLを実行してください。 mysql> create table Demo
-
MySQLのSELECT文で特定のカラム(列)のレコードを取得する方法
はじめにMySQLでSELECTクエリを実行する際、SELECT *を使うとすべてのカラムが取得されますが、カラム名を明示的に指定すれば、必要なカラム(列)のデータだけを効率的に取り出せます。この記事では、サンプルテーブルを作成しながら、特定のカラムのレコードを取得する手順を解説します。1. テーブルの作成まず、CREATE TABLE文でサンプル用のテーブルを作成しましょう。mysql> create table DemoTable1837 ( StudentId int NOT NULL AU