萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

SQL 字串函式:MID() / SUBSTRING() 擷取子字串

MID() (MySQL/Access) 或 SUBSTRING() (標準 SQL) 從字串指定位置擷取指定長度的子字串。

語法

-- 標準 SQL (MySQL, PostgreSQL, SQL Server, Oracle)
SUBSTRING(column_name, start, length)
-- 或
SUBSTRING(column_name FROM start FOR length)

-- MySQL / Access 別名
MID(column_name, start, length)
  • start:起始位置 從 1 開始 (非 0)。
  • length:可選,省略則擷取至字串結尾。

範例資料:Persons 表

+----+----------+-----------+--------------+----------+
| Id | LastName | FirstName | Address      | City     |
+----+----------+-----------+--------------+----------+
| 1  | Hansen   | Ola       | Timoteivn 10 | Sandnes  |
| 2  | Svendson | Tove      | Borgvn 23    | Sandnes  |
| 3  | Pettersen| Kari      | Storgt 20    | Stavanger|
+----+----------+-----------+--------------+----------+

擷取城市前 4 字元

SELECT MID(City, 1, 4) AS ShortCity FROM Persons;
-- 或
SELECT SUBSTRING(City, 1, 4) AS ShortCity FROM Persons;

結果

+-----------+
| ShortCity |
+-----------+
| Sand      |
| Sand      |
| Stav      |
+-----------+

進階:從右側擷取 (MySQL)

SELECT SUBSTRING(City, -4) AS Last4 FROM Persons;  -- 最後 4 字元

相關函式

  • LEFT(str, len):左側擷取
  • RIGHT(str, len):右側擷取
  • SUBSTRING_INDEX(str, delim, count):依分隔符擷取 (MySQL 專用)
copyright © 萬盛學電腦網 all rights reserved