首頁 > 軟體

mysql合併字串的實現

2022-08-29 14:04:47

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常用的字串函數如下表所示

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')

結果截圖: 

 

 

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com