mysql函式之 concat 多個字段拼接

2021-10-09 07:47:07 字數 1194 閱讀 3963

mysql的查詢結果行欄位拼接,可以用下面兩個函式實現:

select concat

(o.user_code,o.user_name) from sys_user o where id =

10

select concat

(ifnull

(o.is_admin,'')

,o.user_name) from sys_user o where id =

10

這樣如果is_admin為null,那麼返回的就是user_name

select concat_ws

(';'

,o.user_code,o.user_name) from sys_user o where id =

10

select concat_ws(』:』,『1』,『2』,『3』) from test ;

結果為:1:2:3

分隔符為null,則返回結果為null:

mysql> select concat_ws(null,『1』,『2』,『3』) from test;

結果為:null

如果引數中存在null,則會被忽略:

select concat_ws(』:』,『1』,『2』,null,null,null,『3』) from test ;

結果為: 1:2:3

可以對null進行判斷,並用其它值進行替換:

select concat_ws(』:』,『1』,『2』,ifnull(null,『0』),『3』) from bank limit 1;

結果為:1:2:0:3

(1)以id分組,把去冗餘的name欄位的值列印在一行

select id,

group_concat

(name separator ';'

) from aa group by id;

注意:如果我們不指定分隔符,該語法預設是使用逗號分隔的。

(2)以id分組,把name欄位的值列印在一行,逗號分隔,以name排倒序

select id,

group_concat

(name order by name desc) from aa group by id;

mysql之concat函式批量操作

前幾天主管給我說,有一筆資料有誤,讓我撈取更新一下,我默默的點了點頭說好,查詢了一下資料庫,幾萬筆資料,怎麼改?我就懵掉了,磨磨唧唧實在沒辦法,催的又急。我便說我這鏈結工具有問題,讓主管幫我改一下,呆在旁邊,便看見這個函式concat,哈哈,將函式寫在手心學習記載一下。語法 concat str1 ...

mysql語法 concat函式

mysql concat str1,str2,返回結果為連線引數產生的字串。如有任何乙個引數為null 則返回值為 null。或許有乙個或多個引數。如果所有引數均為非二進位制字串,則結果為非二進位制字串。如果自變數中含有任一二進位制字串,則結果為乙個二進位制字串。乙個數字引數被轉化為與之相等的二進位...

MySql多列模糊查詢(使用concat)

1.concat簡介 concat str1,str2,返回結果為連線引數產生的字串。如有任何乙個引數為null 則返回值為 null。或許有乙個或多個引數。如果所有引數均為非二進位制字串,則結果為非二進位制字串。如果自變數中含有任一二進位制字串,則結果為乙個二進位制字串。乙個數字引數被轉化為與之相...