首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 字符串函數完整參考手冊(含示例)

     編輯:MySQL 資料庫相關知識

MySQL 提供豐富字符串函數,涵蓋大小寫轉換、截取、拼接、查找、替換、編碼、壓縮等場景。本文彙總高頻函數與示例。

核心函數分類速查

分類函數示例/說明
大小寫UPPER/UCASEUPPER('abc') → 'ABC'
LOWER/LCASELOWER('ABC') → 'abc'
INITCAP首字母大寫(需 8.0+ 或自定義)
截取LEFT(str,len)LEFT('foobar',3) → 'foo'
RIGHT(str,len)RIGHT('foobar',3) → 'bar'
SUBSTRING(str,pos,len)SUBSTRING('foobar',2,3) → 'oob'
MIDSUBSTRING 別名
拼接CONCAT(s1,s2...)CONCAT('My','SQL') → 'MySQL',任一參數 NULL 結果 NULL
CONCAT_WS(sep,s1,s2...)CONCAT_WS(',','a','b') → 'a,b',忽略 NULL
GROUP_CONCAT聚合拼接,GROUP_CONCAT(name ORDER BY id SEPARATOR ';')
查找/位置LOCATE(sub,str,[pos])LOCATE('bar','foobarbar') → 4
INSTR(str,sub)參數順序相反,INSTR('foobarbar','bar') → 4
POSITION(sub IN str)標準 SQL 寫法
FIND_IN_SET(str,list)FIND_IN_SET('b','a,b,c') → 2
替換REPLACE(str,from,to)REPLACE('abc','a','x') → 'xbc'
INSERT(str,pos,len,new)INSERT('Quadratic',3,4,'What') → 'QuWhattic'
REGEXP_REPLACE8.0+ 正則替換
長度/編碼LENGTH/CHAR_LENGTH/BIT_LENGTH字節長/字符長/位長
壓縮/解壓COMPRESS/UNCOMPRESS需 zlib 支援,建議存 BLOB
進制轉換HEX/UNHEX/CONVHEX(255)='FF', CONV('a',16,2)='1010'
格式化FORMAT(X,D)FORMAT(12345.678,2) → '12,345.68'
字段值提取ELT/FIELDELT(2,'a','b')='b', FIELD('b','a','b')=2
位導出EXPORT_SET(bits,on,off,sep,n)EXPORT_SET(5,'Y','N',',',4)='Y,N,Y,N'
文件讀取LOAD_FILE(path)需 FILE 權限,max_allowed_packet 限制

常見陷阱提示

  • CONCAT 任一參數 NULL 導致整體 NULL,用 CONCAT_WS 或 IFNULL 規避。
  • LOCATE/INSTR 區分大小寫**僅當至少一參數為二進制字符串**時。
  • SUBSTRING 位置從 1 起算,負數表示從末尾倒數。
  • GROUP_CONCAT 受 group_concat_max_len(默認 1024)限制,長文本需調大。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved