MySQL 中的子字串

Preet Sanghavi 2023年1月3日
MySQL 中的子字串

在本教程中,我們旨在探索如何在 MySQL 中獲取列的子字串。

由於儲存限制,資料庫開發人員必須以較短的格式傳送資料包告。在嘗試挖掘資料或僅從冗長的字串中獲取相關資訊時,還需要實際字串的子字串。

MySQL 為我們提供了處理此操作的 SUBSTR() 函式。SUBSTR() 函式接受三個引數:stringpositionlength

string 表示需要更改的長字串。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

讓我們嘗試截斷學生的姓氏。假設我們需要縮短姓氏來生成學生的電子郵件地址,則姓氏只能包含前三個字元。

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
注意
在上面的程式碼中,我們使用別名 shortened_lastNames 和 MySQL 中的 AS 關鍵字。

因此,在 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