mysql的查詢結果行欄位拼接,可以用下面兩個函式實現:
select concat
(o.user_code,o.user_name) from sys_user o where id =
10
這樣如果is_admin為null,那麼返回的就是user_nameselect concat
(ifnull
(o.is_admin,'')
,o.user_name) from sys_user o where id =
10
select concat_ws(』:』,『1』,『2』,『3』) from test ;select concat_ws
(';'
,o.user_code,o.user_name) from sys_user o where id =
10
結果為: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。或許有乙個或多個引數。如果所有引數均為非二進位制字串,則結果為非二進位制字串。如果自變數中含有任一二進位制字串,則結果為乙個二進位制字串。乙個數字引數被轉化為與之相...