首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 字符串函數完整參考指南(附範例)

     編輯:MySQL 綜合教學

MySQL 字符串函數完整參考指南

本文整理 MySQL 常用字符串函數的語法、說明與實戰範例,供開發查閱。

1. 長度計算

  • CHAR_LENGTH(str):返回字符數(多位元組字符計 1)。
    SELECT CHAR_LENGTH('MySQL'); -- 5

2. 字符串拼接

  • CONCAT(s1,s2,...):拼接,任一參數為 NULL 則結果為 NULL。
  • CONCAT_WS(sep, s1,s2,...):帶分隔符拼接,sep 為 NULL 則結果 NULL。
    SELECT CONCAT_WS('.','David','Tian'); -- David.Tian

3. 替換/插入

  • INSERT(str, pos, len, newstr):從 pos 起替換 len 字符為 newstr。
    SELECT INSERT('Softtekian',2,4,'!@#$'); -- S!@#$ekian
  • REPLACE(str, from_str, to_str):替換所有 from_str 為 to_str。
    SELECT REPLACE('xxx.mysql.com','x','w'); -- www.mysql.com

4. 大小寫轉換

  • LOWER(str) / LCASE(str):轉小寫
  • UPPER(str) / UCASE(str):轉大寫

5. 截取左右

  • LEFT(str, n):左起 n 字符
  • RIGHT(str, n):右起 n 字符

6. 填充

  • LPAD(str, len, padstr):左側填充至 len
  • RPAD(str, len, padstr):右側填充至 len

7. 去除空格/指定字符

  • LTRIM(str)、RTRIM(str)、TRIM(str):去左右/雙側空格
  • TRIM(remstr FROM str):去除兩端指定字符串
    SELECT TRIM('xy' FROM 'xyxyDxyDxyxy'); -- DxyD

8. 重複生成

  • REPEAT(str, n):重複 n 次,n≤0 返回空串

9. 空格串

  • SPACE(n):n 個空格

10. 比較

  • STRCMP(s1,s2):相等 0,s1

11. 子串提取

  • SUBSTRING(str, pos, len) / MID(str, pos, len):pos 可為負(從尾部計)

12. 子串位置

  • LOCATE(sub, str)、POSITION(sub IN str)、INSTR(str, sub):返回首次出現位置

13. 反轉

  • REVERSE(str):字符串反序

14. 列表操作

  • ELT(n, s1,s2,...):返回第 n 個字符串
  • FIELD(str, s1,s2,...):返回 str 在列表中的位置(從 1 起)
  • FIND_IN_SET(str, strlist):strlist 為逗號分隔字符串,返回位置
  • MAKE_SET(bits, s1,s2,...):bits 二進制位對應選擇字符串
    SELECT MAKE_SET(1|4,'hello','nice','world'); -- hello,world

常用場景速查表

需求推薦函數
拼接欄位CONCAT_WS(',', col1, col2)
去除首尾空格TRIM(col)
替換特定字符REPLACE(col, 'old', 'new')
取前 N 字符LEFT(col, N)
判斷子串是否存在LOCATE('sub', col) > 0
逗號分隔值查找FIND_IN_SET('val', csv_col)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved