MySQL 中的子字串
Preet Sanghavi
2023年1月3日
2022年5月13日
在本教程中,我們旨在探索如何在 MySQL 中獲取列的子字串。
由於儲存限制,資料庫開發人員必須以較短的格式傳送資料包告。在嘗試挖掘資料或僅從冗長的字串中獲取相關資訊時,還需要實際字串的子字串。
MySQL 為我們提供了處理此操作的 SUBSTR()
函式。SUBSTR()
函式接受三個引數:string
、position
和 length
。
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 中生成替代項。
Author: Preet Sanghavi