MySQL のサブストリング

Preet Sanghavi 2023年1月3日
MySQL のサブストリング

このチュートリアルでは、MySQL で列のサブストリングをフェッチする方法を探ることを目的としています。

ストレージの制限により、データベース開発者はより短い形式でデータレポートを送信する必要があります。データをマイニングしようとしたり、長い文字列から関連情報のみを取得したりする場合は、実際の文字列のサブ文字列も必要です。

MySQL は、この操作を処理する SUBSTR() 関数を提供します。SUBSTR() 関数は、文字列位置、および長さの 3つの引数を取ります。

文字列は、変更が必要な長い文字列を表します。position は文字列を変更する必要がある場所を示し、length は出力文字列に必要な文字の総数を示します。

この方法がどのように機能するかを理解しましょう。ただし、開始する前に、数行の student_details テーブルを作成してダミーデータセットを作成する必要があります。

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

上記のクエリは、学生の名前と名前の行を含むテーブルを作成します。データのエントリを表示するには、次のコードを使用します。

SELECT * FROM student_details;

出力:

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

生徒の名前を切り捨ててみましょう。生徒のメールアドレスを作成するために名前を短くする必要があるとすると、名前には最初の 3 文字しか含めることができません。

MySQL の SUBSTR 関数

SUBSTR() 関数の基本的な構文は次のとおりです。

SUBSTR(string, position, length)

student_details テーブルから列 stu_lastName を切り捨ててみましょう。以下のクエリを使用して実行できます。

select SUBSTR(stu_lastName, 1, 3) as shortened_lastNames
from student_details

上記のコードは、学生の短縮された姓を使用しています。

出力:

shortened_lastNames
San
Joh
Bro
Jos
Sha
Par
Mil
上記のコードでは、MySQL の AS キーワードでエイリアス shortened_lastNames を使用しています。

したがって、SUBSTR() 関数を使用すると、文字列を効率的に分割し、文字列のコンポーネントを操作して、MySQL で代替を生成できます。

著者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

関連記事 - MySQL Query