mysql合并字符串
1.CONCAT(string1,string2,…)
string1,string2代表字符串,concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
SELECT CONCAT( '1', '01')
结果
SELECT CONCAT('1',NULL)
结果
2.CONCAT_WS(separator,str1,str2,...)
第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
SELECT CONCAT_WS('-','1','2','3')
结果
SELECT CONCAT_WS('-','1','2',NULL)
结果
SELECT CONCAT_WS(NULL,'1','2','3')
结果
mysql字符串函数
字符串函数是MySQL中常用的函数。
字符串函数主要用于处理表中的字符串。
字符串函数包括求字符串长度、合并字符串、在字符串中插入子串和大小写字母之间的转换等函数。
mysql常用的字符串函数如下表所示
char_length(s) | 返回字符串s的字符数 |
length(s) | 返回字符串s的长度(一个中文字母长度为3) |
concat(s1,s2,...) | 返回s1,s2..拼接之后的字符串 |
concat(x,s1,s2,...) | 返回以x为分隔符拼接之后的字符串 |
insert(s1,x,len,s2) | 返回将s2从s1第x个字符到x+len个替换之后的字符串 |
upper(s) ucase(s) | 将s字符串中的所有小写字母变成大写 |
lower(s) lcase(s) | 将s字符串中的所有大写字母变成小写 |
left(s,n) | 返回字符串s的前n个字符 |
rigth(s,n) | 返回字符串s的后n个字符 |
lpad(s1,len,s2) | 将字符串循环s2添加到s1的开始处,s1长度为len时停止 |
rpad(s1,len,s2) | 将字符串循环s2添加到s1的结尾处,s1长度为len时停止 |
trim(s) | 去除字符串s首尾两边的空格 |
ltrim(s) | 去除字符串s开始处的空格 |
rtrim(s) | 去除字符串s结尾处的空格 |
repeat(s,n) | 返回将字符串s重复n次后的字符串 |
space(n) | 返回n个空格 |
replace(s,s1,s2) | 将字符串s2替代字符串s中的子字符串s1 |
strcmp(s1,s2) | s1<s2,返回-1;s1=s2,返回0;s1>s2,返回1; |
substring(s,n,len) | 返回从字符串s的第n个字符开始长度为len的子字符串 |
mid(s,n,len) | 返回从字符串s的第n个字符开始长度为len的子字符串 |
locate(s1,s) | 返回s1在s中字符的第几个位置 |
position(s1 in s) | 返回s1在s中字符的第几个位置 |
instr(s,s1) | 返回s1在s中字符的第几个位置 |
reverse(s) | 返回字符串s的逆序字符串 |
elt(n,s1,s2,sn...) | 返回第n个字符串 sn |
field(s,s1,s2,sn...) | 返回字符串s在sn中匹配的位置 n |
find_in_set(s1,s2) | 返回字符串s2在s1中匹配的位置,其中s2必须是以“ , ”分隔的字符串 |
make_set(x,s1,s2,sn...) | 按x的二进制数从sn中选取字符串 |
练习代码:
## 字符串函数
select char_length('admin,root'),length('admin,root'),char_length('流量明星'),length('流量明星');
select concat('a','b','c'),CONCAT_WS(',','a','b','c');
select insert('admin',2,3,'root');
select upper('adminROOTadmin,of;AJAX'),ucase('adminROOTadmin');
select lower('adminROOTadmin,of;ajax'),lcase('adminROOTadmin');
select left('admin',3),right('admin',3);
select lpad('admin',12,'root'),rpad('admin',12,'root'),lpad('admin',6,'root'),rpad('admin',6,'root');
select trim(' ad min '),ltrim(' ad min '),rtrim(' ad min '),trim('ad' from 'admin admin admin ad');
select repeat('admin ',3),space(3),replace('admin','d','c');
select strcmp('admin','zdmin'),strcmp('admin','admin'),strcmp('zdmin','admin');
select substring('admin',1,3),mid('admin',1,3);
select locate('mi','admin'),position('mi' in 'admin'),instr('admin','min');
select reverse('admin'),elt(3,'admin','root','miss','running'),field('miss','admin','root','miss','running');
select find_in_set('miss','admin,root,miss,running')
select make_set(7,'a','d','m','i','n'),make_set(9,'a','d','m','i','n')
结果截图:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。