ASCII(str)、ORD(str):首字符碼值;BIN(N)、OCT(N)、HEX(N)、CONV(N,from,to):進制互轉;CHAR(N,... [USING charset]):碼值轉字符串。LENGTH(str)/OCTET_LENGTH:字節長度;CHAR_LENGTH(str)/CHARACTER_LENGTH:字符長度(多字節字符計 1);BIT_LENGTH(str):二進制位長度。CONCAT(str1,str2,...):任一參數為 NULL 結果為 NULL;CONCAT_WS(sep,str1,str2,...):帶分隔符,自動跳過 NULL。SUBSTRING(str,pos[,len])、MID、SUBSTR:提取子串,支持負位置;LEFT(str,len)、RIGHT(str,len):左右定長截取;LOCATE(substr,str[,pos])、POSITION、INSTR:查找位置;SUBSTRING_INDEX(str,delim,count):按分隔符切分取段。LOWER/LCASE、UPPER/UCASE;LTRIM、RTRIM、TRIM([BOTH|LEADING|TRAILING] remstr FROM str)。LPAD(str,len,pad)、RPAD(str,len,pad);REPLACE(str,from,to):全量替換;INSERT(str,pos,len,newstr):指定位置替換指定長度。REVERSE(str) 反轉;REPEAT(str,count) 重複;SPACE(N) 生成空格;FORMAT(X,D) 數字格式化;SOUNDEX、expr1 SOUNDS LIKE expr2 模糊發音匹配;COMPRESS/UNCOMPRESS、UNCOMPRESSED_LENGTH 壓縮存儲;UNHEX(HEX(str)) 還原十六進制;MAKE_SET(bits,str1,...)、EXPORT_SET 位掩碼轉集合;FIELD(str,str1,...)、ELT(N,str1,...) 索引與值互查;FIND_IN_SET(str,strlist) 集合查找(SET 列優化)。| 需求 | 推薦函數組合 |
|---|---|
| 截取前 10 個字符 | LEFT(col,10) 或 SUBSTRING(col,1,10) |
| 去除首尾空格 | TRIM(col) |
| 將 'a,b,c' 轉為集合查找 | FIND_IN_SET('b','a,b,c') |
| 數字轉二進制字符串 | BIN(num) |
| 壓縮長文本存入 BLOB | COMPRESS(text) |