本文主要记录字符串单行函数,列出了所有常用的字符串函数。
ASCII(S)
返回字符串S中的第一个字符的ASCII码值
SELECT ASCII('a');
结果:
SELECT ASCII('abc');
结果:
CHAR_LENGTH(s)
返回字符串s的字符数。作用与CHARACTER_LENGTH(s)相同
SELECT CHAR_LENGTH('abcdefg');
结果:
LENGTH(s)
返回字符串s的字节数,和字符集有关
SELECT LENGTH('abcdefg');
结果:
CONCAT(s1,s2,......,sn)
连接s1,s2,......,sn为一个字符串
SELECT CONCAT('n','b','cls');
结果:
CONCAT_WS(x, s1,s2,......,sn)
同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上x
SELECT CONCAT_WS('x','n','b','cls');
结果:
INSERT(str, idx, len, replacestr)
将字符串str从第idx位置开始,len个字符长的子串替换为字符串replacestr
SELECT INSERT('jams-ads',6,3,'nes');
结果:
REPLACE(str, a, b)
用字符串b替换字符串str中所有出现的字符串a
SELECT REPLACE('wwe','w','c');
结果:
UPPER(s) 或 UCASE(s)
将字符串s的所有字母转成大写字母
SELECT UPPER('posdun');
SELECT UCASE('posdun');
结果:
LOWER(s) 或LCASE(s)
将字符串s的所有字母转成小写字母
SELECT LOWER('POsDUN');
SELECT LCASE('POsDUN');
结果:
LEFT(str,n)
返回字符串str最左边的n个字符
SELECT LEFT('jams',2);
结果:
RIGHT(str,n)
返回字符串str最右边的n个字符
SELECT RIGHT('jordan',3);
结果:
LPAD(str, len, pad)
用字符串pad对str最左边进行填充,直到str的长度为len个字符
SELECT LPAD('ipad',6,'os');
结果:
RPAD(str ,len, pad)
用字符串pad对str最右边进行填充,直到str的长度为len个字符
SELECT RPAD('ios',6,'kuke');
结果:
LTRIM(s)
去掉字符串s左侧的空格
SELECT LTRIM(' h de ');
结果:
RTRIM(s)
去掉字符串s右侧的空格
SELECT RTRIM(' h de ');
结果:
TRIM(s)
去掉字符串s开始与结尾的空格
SELECT TRIM(' h de ');
结果:
TRIM(s1 FROM s)
去掉字符串s开始与结尾的s1
SELECT TRIM('de' FROM 'h de');
结果:
TRIM(LEADING s1 FROM s)
去掉字符串s开始处的s1
SELECT TRIM(LEADING 'd' FROM 'doggd');
结果:
TRIM(TRAILING s1 FROM s)
去掉字符串s结尾处的s1
SELECT TRIM(TRAILING 'd' FROM 'doggd');
结果:
REPEAT(str, n)
返回str重复n次的结果
SELECT REPEAT('line',2);
结果:
SPACE(n)
返回n个空格
SELECT SPACE(5);
SELECT CONCAT('a',SPACE(5),'c');
结果:
STRCMP(s1,s2)
比较字符串s1,s2的ASCII码值的大小 s1>s2 结果为1 s1=s2结果为0 s1<s2 结果为-1
SELECT STRCMP('ac','acd');
结果:
SUBSTR(s,index,len)
返回从字符串s的index位置其len个字符,作用与SUBSTRING(s,n,len)、 MID(s,n,len)相同
SELECT SUBSTR('news',2,2);
结果:
LOCATE(substr,str)
返回字符串substr在字符串str中首次出现的位置,作用于POSITION(substr IN str)、INSTR(str,substr)相同。未找到,返回0
SELECT LOCATE('on','information');
结果:
ELT(m,s1,s2,…,sn)
返回指定位置的字符串,如果m=1,则返回s1,如果m=2,则返回s2,如果m=n,则返回sn
SELECT ELT(2,'s1','s2','s3');
结果:
FIELD(s,s1,s2,…,sn)
返回字符串s在字符串列表中第一次出现的位置
SELECT FIELD('msm','hello','msm','amma');
结果:
FIND_IN_SET(s1,s2)
返回字符串s1在字符串s2中出现的位置。其中,字符串s2是一个以逗号分隔的字符串
SELECT FIND_IN_SET('mm','hello,mm,amma');
结果:
REVERSE(s)
返回s反转后的字符串
SELECT REVERSE('abc');
结果:
NULLIF(value1,value2)
比较两个字符串,如果value1与value2相等,则返回NULL,否则返回value1
SELECT NULLIF('abs','abc');
SELECT NULLIF('abs','abs');
结果:
到此所有字符串函数已经列出了,觉得有用的朋友来个赞吧。