摘要:在本教學中,您將學習如何使用 SQL SUBSTRING
函數從字串中提取子字串。
SQL SUBSTRING 函數簡介
SUBSTRING
函數會提取從指定位置開始,具有指定長度的子字串。
以下說明 SUBSTRING
函數的語法。
SUBSTRING(source_string, position, length);
Code language: SQL (Structured Query Language) (sql)
SUBSTRING
函數接受三個引數
source_string
是您要从中提取子字串的字串。position
是子字串開始的起始位置。字串的第一個位置是一 (1)。length
是子字串的長度。length
引數是選填的。
大多數關聯式資料庫系統都以相同的功能實作 SUBSTRING
函數。
SQL SUBSTRING 函數範例
以下範例會傳回從位置 1 開始,長度為 3 的子字串。
SELECT SUBSTRING('SQLTutorial.org',1,3);
Code language: SQL (Structured Query Language) (sql)
substring
-----------
SQL
(1 row)
Code language: SQL (Structured Query Language) (sql)
以下語句會傳回從位置 4 開始,長度為 8 的子字串。
SELECT SUBSTRING('SQLTutorial.org',4,8);
Code language: SQL (Structured Query Language) (sql)
substring
-----------
Tutorial
(1 row)
Code language: SQL (Structured Query Language) (sql)
以下語句使用 POSITION
函數來傳回字串中點字元 (.) 的位置。
POSITION
函數的結果會傳遞至 SUBSTRING
函數,以尋找網域的副檔名
SELECT
SUBSTRING('SQLTutorial.org',
POSITION('.' IN 'SQLTutorial.org'));
Code language: SQL (Structured Query Language) (sql)
substring
-----------
.org
(1 row)
Code language: SQL (Structured Query Language) (sql)
請參閱範例資料庫中的以下 employees
表格。

以下查詢使用 SUBSTRING
函數來提取員工名字的第一個字元(縮寫),並依縮寫將員工分組
SELECT
SUBSTRING(first_name, 1, 1) initial,
COUNT(employee_id)
FROM
employees
GROUP BY initial;
Code language: SQL (Structured Query Language) (sql)

在本教學中,您已學習如何使用 SQL SUBSTRING 函數從字串中提取子字串。
本教學對您有幫助嗎?