mysql合并字符串的實現(xiàn)
mysql合并字符串
1.CONCAT(string1,string2,…)
string1,string2代表字符串,concat函數(shù)在連接字符串的時候,只要其中一個是NULL,那么將返回NULL
SELECT CONCAT( '1', '01')
結(jié)果
SELECT CONCAT('1',NULL)
結(jié)果
2.CONCAT_WS(separator,str1,str2,...)
第一個參數(shù)是其它參數(shù)的分隔符。分隔符的位置放在要連接的兩個字符串之間。分隔符可以是一個字符串,也可以是其它參數(shù)。如果分隔符為 NULL,則結(jié)果為 NULL。函數(shù)會忽略任何分隔符參數(shù)后的 NULL 值。
SELECT CONCAT_WS('-','1','2','3')
結(jié)果
SELECT CONCAT_WS('-','1','2',NULL)
結(jié)果
SELECT CONCAT_WS(NULL,'1','2','3')
結(jié)果
mysql字符串函數(shù)
字符串函數(shù)是MySQL中常用的函數(shù)。
字符串函數(shù)主要用于處理表中的字符串。
字符串函數(shù)包括求字符串長度、合并字符串、在字符串中插入子串和大小寫字母之間的轉(zhuǎn)換等函數(shù)。
mysql常用的字符串函數(shù)如下表所示
char_length(s) | 返回字符串s的字符數(shù) |
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) | 將字符串循環(huán)s2添加到s1的開始處,s1長度為len時停止 |
rpad(s1,len,s2) | 將字符串循環(huán)s2添加到s1的結(jié)尾處,s1長度為len時停止 |
trim(s) | 去除字符串s首尾兩邊的空格 |
ltrim(s) | 去除字符串s開始處的空格 |
rtrim(s) | 去除字符串s結(jié)尾處的空格 |
repeat(s,n) | 返回將字符串s重復(fù)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的二進(jìn)制數(shù)從sn中選取字符串 |
練習(xí)代碼:
## 字符串函數(shù) 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')
結(jié)果截圖:
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
sql腳本函數(shù)編寫postgresql數(shù)據(jù)庫實現(xiàn)解析
這篇文章主要介紹了sql腳本函數(shù)編寫postgresql數(shù)據(jù)庫實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09MySQL 與 Elasticsearch 數(shù)據(jù)不對稱問題解決辦法
這篇文章主要介紹了MySQL 與 Elasticsearch 數(shù)據(jù)不對稱問題解決辦法的相關(guān)資料,對于 elasticsearch 增量寫入,但經(jīng)常jdbc源一端的數(shù)據(jù)庫可能會做數(shù)據(jù)庫刪除或者更新操作,這里提供解決辦法,需要的朋友可以參考下2017-08-08mysql運行net start mysql報服務(wù)名無效的解決辦法
這篇文章主要為大家詳細(xì)介紹了mysql運行net start mysql報服務(wù)名無效的解決辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01MySQL提示Truncated incorrect DOUBLE value解決方法
這篇文章給大家介紹了MySQL提示Truncated incorrect DOUBLE value報錯的四種解決方法,并通過代碼給大家介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下2024-02-02windows server2014 安裝 Mysql Applying Security出錯的完美解決方法
這篇文章給大家介紹了windows server2014 安裝 Mysql Applying Security出錯的完美解決方法,造成這種問題的主要原因是因為安裝一遍之后沒有卸載干凈,要解決這個問題需要注意以下幾點,具體解決方法,大家參考下本文2017-07-07