跳到主要内容

字符串函数

函数描述示例
ASCII(s)返回字符串 s 的第一个字符的 ASCII 码select ASCII('CHINA');
->67
CHAR_LENGTH(s)
CHARACTER_LENGTH(s)
返回字符串 s 的字符数SELECT CHAR_LENGTH('CHINA');
->5
CONCAT(s1,s2...sn)
CONCAT_WS(x, s1,s2...sn)
字符串 s1,s2 等多个字符串合并为一个字符串SELECT CONCAT('Welcome to ','CHINA');
->Welcome to CHINA
FIELD(s,s1,s2...)返回第一个字符串 s 在字符串列表(s1,s2...)中的位置SELECT FIELD("c","a","b","c","d","e");
->3
FIND_IN_SET(s1,s2)返回在字符串 s2 中与 s1 匹配的字符串的位置SELECT FIND_IN_SET("c","a,b,c,d,e");
->3
FORMAT(x,n)函数可以将数字 x 进行格式化 "#,###.##", 将 x 保留到小数点后 n 位,最后一位四舍五入SELECT FORMAT(9105885500.534,2);
->9,105,885,500.53
INSERT(s1,x,len,s2)字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串SELECT INSERT('Welcome to CHINA',1,6,'I love');
->I lovee to CHINA
LOCATE(s1,s)从字符串 s 中获取 s1 的开始位置SELECT LOCATE('db','stonedb');
->6
LCASE(s)
LOWER(s)
将字符串 s 的所有字母变成小写字母SELECT LCASE('STONEDB');
->stonedb
LEFT(s,n)返回字符串 s 的前 n 个字符SELECT LEFT('stonedb',5);
->stone
LPAD(s1,len,s2)在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 lenSELECT LPAD('one',5,'st');
->stone
LTRIM(s)去掉字符串 s 开始处的空格SELECT LTRIM(' STONEDB');
->STONEDB
MID(s,n,len)从字符串 s 的 n 位置截取长度为 len 的子字符串,同 SUBSTRING(s,n,len)SELECT MID('stonedb',2,3);
->ton
POSITION(s1 IN s)从字符串 s 中获取 s1 的开始位置SELECT POSITION('db'in'stonedb');
->6
REPEAT(s,n)将字符串 s 重复 n 次SELECT REPEAT('hello',3);
->hellohellohello
REPLACE(s,s1,s2)将字符串 s2 替代字符串 s 中的字符串 s1SELECT REPLACE('stonedb','db','x');
->stonex
REVERSE(s)将字符串s的顺序反过来SELECT REVERSE('stonedb');
->bdenots
RIGHT(s,n)返回字符串 s 的后 n 个字符SELECT RIGHT('stonedb',5);
->onedb
RPAD(s1,len,s2)在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 lenSELECT RPAD('stone',7,'db');
->stonedb
RTRIM(s)去掉字符串 s 结尾处的空格SELECT RTRIM('STONEDB ');
->STONEDB
SPACE(n)返回 n 个空格SELECT SPACE(10);
->
SUBSTR(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串SELECT SUBSTR('STONEDB',2,3);
->TON
STRCMP(s1,s2)比较字符串 s1 和 s2, 如果 s1 与 s2 相等返回 0, 如果 s1>s2 返回 1,如果 s1小于s2 返回 -1SELECT STRCMP('stonedb','stone');
-> 1
SUBSTRING_INDEX(s, delimiter, number)返回从字符串 s 的第 number 个出现的分隔符 delimiter 之后的子串SELECT SUBSTRING_INDEX('stonedb','n',1);
->sto
TRIM(s)去掉字符串 s 开始和结尾处的空格SELECT TRIM(' STONEDB ');
->STONEDB
UCASE(s)
UPPER(s)
将字符串转换为大写SELECT UCASE('stonedb');
->STONEDB