最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL?字符串截取函數(shù)及用法詳解

 更新時(shí)間:2025年05月20日 14:34:40   作者:XMYX-0  
在MySQL中,字符串截取是常見的操作,主要用于從字符串中提取特定部分,MySQL?提供了多種函數(shù)來實(shí)現(xiàn)這一功能,包括?LEFT()、RIGHT()、SUBSTRING()、MID()、SUBSTR()?和?SUBSTRING_INDEX()?等,本文將詳細(xì)介紹這些函數(shù)的用法,并通過示例進(jìn)行說明,需要的朋友可以參考下

MySQL 字符串截取函數(shù)詳解

在 MySQL 中,字符串截取是常見的操作,主要用于從字符串中提取特定部分。MySQL 提供了多種函數(shù)來實(shí)現(xiàn)這一功能,包括 LEFT()、RIGHT()、SUBSTRING()、MID()、SUBSTR()SUBSTRING_INDEX() 等。本文將詳細(xì)介紹這些函數(shù)的用法,并通過示例進(jìn)行說明。

LEFT(str, length):從左側(cè)截取指定長(zhǎng)度的字符

功能:從字符串 str 的左側(cè)開始,截取 length 個(gè)字符。

語(yǔ)法

LEFT(str, length)

示例

SELECT LEFT('sqlstudy.com', 3);

結(jié)果

+-------------------------+
| LEFT('sqlstudy.com', 3) |
+-------------------------+
| sql |
+-------------------------+

解釋:從 'sqlstudy.com' 的左側(cè)開始,截取 3 個(gè)字符,結(jié)果為 'sql'

RIGHT(str, length):從右側(cè)截取指定長(zhǎng)度的字符

功能:從字符串 str 的右側(cè)開始,截取 length 個(gè)字符。

語(yǔ)法

RIGHT(str, length)

示例

SELECT RIGHT('sqlstudy.com', 3);

結(jié)果

+--------------------------+
| RIGHT('sqlstudy.com', 3) |
+--------------------------+
| com |
+--------------------------+

解釋:從 'sqlstudy.com' 的右側(cè)開始,截取 3 個(gè)字符,結(jié)果為 'com'。

SUBSTRING(str, pos) 或 SUBSTRING(str, pos, len):從指定位置開始截取

功能:從字符串 str 的第 pos 個(gè)字符開始,截取 len 個(gè)字符。pos 可以是正數(shù)或負(fù)數(shù),正數(shù)表示從左側(cè)開始,負(fù)數(shù)表示從右側(cè)開始。

語(yǔ)法

SUBSTRING(str, pos)
SUBSTRING(str, pos, len)

示例

-- 從第 4 個(gè)字符開始,直到結(jié)束
SELECT SUBSTRING('sqlstudy.com', 4);
-- 從第 4 個(gè)字符開始,截取 2 個(gè)字符
SELECT SUBSTRING('sqlstudy.com', 4, 2);
-- 從倒數(shù)第 4 個(gè)字符開始,直到結(jié)束
SELECT SUBSTRING('sqlstudy.com', -4);
-- 從倒數(shù)第 4 個(gè)字符開始,截取 2 個(gè)字符
SELECT SUBSTRING('sqlstudy.com', -4, 2);

結(jié)果

+------------------------------+
| SUBSTRING('sqlstudy.com', 4) |
+------------------------------+
| study.com |
+------------------------------+

+---------------------------------+
| SUBSTRING('sqlstudy.com', 4, 2) |
+---------------------------------+
| st |
+---------------------------------+

+-------------------------------+
| SUBSTRING('sqlstudy.com', -4) |
+-------------------------------+
| .com |
+-------------------------------+

+----------------------------------+
| SUBSTRING('sqlstudy.com', -4, 2) |
+----------------------------------+
| .c |
+----------------------------------+

解釋

  • SUBSTRING('sqlstudy.com', 4):從第 4 個(gè)字符開始,直到字符串結(jié)束,結(jié)果為 'study.com'。
  • SUBSTRING('sqlstudy.com', 4, 2):從第 4 個(gè)字符開始,截取 2 個(gè)字符,結(jié)果為 'st'。
  • SUBSTRING('sqlstudy.com', -4):從倒數(shù)第 4 個(gè)字符開始,直到字符串結(jié)束,結(jié)果為 '.com'。
  • SUBSTRING('sqlstudy.com', -4, 2):從倒數(shù)第 4 個(gè)字符開始,截取 2 個(gè)字符,結(jié)果為 '.c'

注意

len 必須為非負(fù)整數(shù)。若省略 len,則默認(rèn)截取到字符串末尾。

pos 超出字符串長(zhǎng)度或?yàn)?0,返回空字符串。例如:

SELECT SUBSTRING('abc', 0, 1);   -- 結(jié)果:空字符串
SELECT SUBSTRING('abc', 5, 1);   -- 結(jié)果:空字符串

SUBSTRING_INDEX(str, delim, count):根據(jù)分隔符截取字符串

功能:根據(jù)分隔符 delim,從字符串 str 中截取出第 count 次出現(xiàn)的分隔符前或后的子字符串。count 為正數(shù)時(shí),從左側(cè)開始計(jì)數(shù);為負(fù)數(shù)時(shí),從右側(cè)開始計(jì)數(shù)。

語(yǔ)法

SUBSTRING_INDEX(str, delim, count)

示例

-- 截取第二個(gè) '.' 之前的所有字符
SELECT SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', 2);
-- 截取倒數(shù)第二個(gè) '.' 之后的所有字符
SELECT SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', -2);
-- 如果分隔符不存在,返回整個(gè)字符串
SELECT SUBSTRING_INDEX('www.sqlstudy.com.cn', '.coc', 1);

結(jié)果

+------------------------------------------------+
| SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', 2) |
+------------------------------------------------+
| www.sqlstudy |
+------------------------------------------------+

+-------------------------------------------------+
| SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', -2) |
+-------------------------------------------------+
| com.cn |
+-------------------------------------------------+

+---------------------------------------------------+
| SUBSTRING_INDEX('www.sqlstudy.com.cn', '.coc', 1) |
+---------------------------------------------------+
| www.sqlstudy.com.cn |
+---------------------------------------------------+

解釋

  • SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', 2):返回第 2 次出現(xiàn)的 . 之前的所有字符,結(jié)果為 'www.sqlstudy'。
  • SUBSTRING_INDEX('www.sqlstudy.com.cn', '.', -2):返回倒數(shù)第 2 次出現(xiàn)的 . 之后的所有字符,結(jié)果為 'com.cn'。
  • SUBSTRING_INDEX('www.sqlstudy.com.cn', '.coc', 1):由于 .coc 不存在于字符串中,返回整個(gè)字符串 'www.sqlstudy.com.cn'

注意

count 超過分隔符實(shí)際出現(xiàn)的次數(shù),返回整個(gè)字符串。例如:

SELECT SUBSTRING_INDEX('a.b.c.d', '.', 5);  -- 結(jié)果:'a.b.c.d'

MID(str, pos, len) 或 SUBSTR(str, pos, len):與 SUBSTRING 等價(jià)

功能:與 SUBSTRING 函數(shù)功能相同,用于從指定位置開始截取指定長(zhǎng)度的子字符串。

語(yǔ)法

MID(str, pos, len)
SUBSTR(str, pos, len)

示例

-- 從第 4 個(gè)字符開始,截取 2 個(gè)字符
SELECT MID('sqlstudy.com', 4, 2);
-- 從倒數(shù)第 4 個(gè)字符開始,截取 2 個(gè)字符
SELECT SUBSTR('sqlstudy.com', -4, 2);

結(jié)果

+----------------------------------+
| MID('sqlstudy.com', 4, 2) |
+----------------------------------+
| st |
+----------------------------------+

+-----------------------------------+
| SUBSTR('sqlstudy.com', -4, 2) |
+-----------------------------------+
| .c |
+-----------------------------------+

解釋

  • MID('sqlstudy.com', 4, 2)SUBSTRING('sqlstudy.com', 4, 2) 結(jié)果相同,均為 'st'
  • SUBSTR('sqlstudy.com', -4, 2)SUBSTRING('sqlstudy.com', -4, 2) 結(jié)果相同,均為 '.c'

多字節(jié)字符處理

MySQL 的字符串截取函數(shù)默認(rèn)按字符(而非字節(jié))處理,適用于多字節(jié)字符集(如 UTF-8)。例如:

SELECT LEFT('中文測(cè)試', 2);  -- 結(jié)果:'中文'
SELECT SUBSTRING('數(shù)據(jù)庫(kù)', 2, 2);  -- 結(jié)果:'據(jù)庫(kù)'

實(shí)際應(yīng)用場(chǎng)景

場(chǎng)景 1:提取郵箱的域名

SELECT 
  email,
  SUBSTRING_INDEX(email, '@', -1) AS domain
FROM users;

結(jié)果

+-------------------+-------------+
| email | domain |
+-------------------+-------------+
| user@example.com | example.com |
+-------------------+-------------+

場(chǎng)景 2:解析 URL 中的路徑

SELECT 
  SUBSTRING_INDEX(SUBSTRING_INDEX(url, '//', -1), '/', 1) AS host
FROM website;

輸入'https://www.sqlstudy.com/path'
輸出'www.sqlstudy.com'

總結(jié)

函數(shù)功能概要核心區(qū)別
LEFT() / RIGHT()從左右側(cè)截取固定長(zhǎng)度方向固定,長(zhǎng)度明確
SUBSTRING()靈活指定起始位置和長(zhǎng)度支持正負(fù)位置,功能最全面
SUBSTRING_INDEX()基于分隔符截取適合處理結(jié)構(gòu)化字符串(如路徑)
MID() / SUBSTR()SUBSTRING 功能相同語(yǔ)法別名,可互換使用

掌握這些函數(shù),可以高效處理字符串截取需求,提升數(shù)據(jù)處理的靈活性。

相關(guān)文章

  • mysql InnoDB建表時(shí)設(shè)定初始大小的方法

    mysql InnoDB建表時(shí)設(shè)定初始大小的方法

    這篇文章主要介紹了mysql InnoDB建表時(shí)設(shè)定初始大小的方法,需要大家到MYSQL后臺(tái)實(shí)際操作方可以看到效果
    2013-11-11
  • MySQLexplain之ref和rows的使用

    MySQLexplain之ref和rows的使用

    在MySQL中,優(yōu)化器通過分析表之間的引用關(guān)系、使用的索引列、以及估算查詢所需讀取的行數(shù)來優(yōu)化查詢,"ref"關(guān)鍵字顯示被參考的索引列,如果可能,這個(gè)值會(huì)是一個(gè)常數(shù),表示哪些列或常量用于查找索引列上的值,"rows"關(guān)鍵字表示優(yōu)化器根據(jù)表統(tǒng)計(jì)信息及索引使用情況
    2024-10-10
  • MySQL分頁(yè)查詢的三種常用方法

    MySQL分頁(yè)查詢的三種常用方法

    在處理數(shù)據(jù)庫(kù)查詢時(shí),我們經(jīng)常需要對(duì)結(jié)果進(jìn)行分頁(yè),以便在用戶界面上提供更好的瀏覽體驗(yàn),本文主要介紹了MySQL分頁(yè)查詢的三種常用方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • MySQL死鎖類deadlock問題排查

    MySQL死鎖類deadlock問題排查

    本文主要介紹了MySQL死鎖類deadlock問題排查,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-03-03
  • mysql合并字符串的實(shí)現(xiàn)

    mysql合并字符串的實(shí)現(xiàn)

    這篇文章主要介紹了mysql合并字符串的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • MySQL 權(quán)限控制詳解

    MySQL 權(quán)限控制詳解

    這篇文章主要介紹了MySQL 權(quán)限控制詳解的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • MySQL實(shí)現(xiàn)樂觀鎖的方式詳解

    MySQL實(shí)現(xiàn)樂觀鎖的方式詳解

    在 MySQL 中,可以通過使用樂觀鎖來實(shí)現(xiàn)并發(fā)控制,以避免數(shù)據(jù)沖突和并發(fā)更新問題,樂觀鎖是一種樂觀的思想,它假設(shè)并發(fā)操作不會(huì)導(dǎo)致沖突,只有在提交更新時(shí)才會(huì)檢查是否發(fā)生沖突,本文給大家介紹了Mysql如何實(shí)現(xiàn)樂觀鎖,需要的朋友可以參考下
    2023-09-09
  • mysql 8.0.15 下載安裝詳細(xì)教程 新手必備!

    mysql 8.0.15 下載安裝詳細(xì)教程 新手必備!

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.15 下載安裝詳細(xì)教程,純新手教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • MySQL之InnoDB存儲(chǔ)引擎中的頁(yè)用法解讀

    MySQL之InnoDB存儲(chǔ)引擎中的頁(yè)用法解讀

    這篇文章主要介紹了MySQL之InnoDB存儲(chǔ)引擎中的頁(yè)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 解決Win7 x64安裝解壓版mysql 5.7.18 winx64出現(xiàn)服務(wù)無法啟動(dòng)問題

    解決Win7 x64安裝解壓版mysql 5.7.18 winx64出現(xiàn)服務(wù)無法啟動(dòng)問題

    這篇文章主要介紹了解決Win7 x64安裝解壓版mysql 5.7.18 winx64出現(xiàn)服務(wù)無法啟動(dòng)問題,需要的朋友可以參考下
    2017-05-05

最新評(píng)論

瑞金市| 博乐市| 肃南| 商丘市| 乌兰浩特市| 易门县| 报价| 房产| 南溪县| 句容市| 罗田县| 旺苍县| 车险| 绵竹市| 安顺市| 宁德市| 牟定县| 塔河县| 白玉县| 安图县| 嘉禾县| 武义县| 高青县| 仁布县| 尚义县| 合肥市| 凌源市| 黄大仙区| 积石山| 延川县| 潼关县| 彭山县| 陆河县| 通海县| 靖安县| 洛宁县| 韶关市| 醴陵市| 全椒县| 河津市| 玉屏|