日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL之字符串拼接

發布時間:2023/12/20 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL之字符串拼接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

涉及方法:concat,?concat_ws,?group_concat

數據準備:

CREATE TABLE `app` (`app_id` int DEFAULT '0',`version_code` int DEFAULT '0',`download_count` int DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (1, 10, 90); INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (1, 11, 100); INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (1, 10, 20); INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (2, 15, 10); INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (2, 16, 15); INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (2, 17, 30); INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (2, 16, 5); INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (3, 2, 50); INSERT INTO `app`(`app_id`, `version_code`, `download_count`) VALUES (4, 9, NULL);

一、concat()

  • 功能:將多個字符串連接成一個字符串
  • 語法:concat(str1, str2, ...)
  • 說明:返回結果為連接參數產生的字符串,如果有任何一個參數為null,則返回值為null
  • select concat (app_id, ',', version_code, ',', download_count) as info from app;

    ?

    二、concat_ws()

  • 功能:concat with separator,和concat()一樣,但可以一次性指定分隔符將多個字符串連接成一個字符串
  • 語法:concat_ws(separator, str1, str2, ...)
  • 說明:separator指定分隔符
  • select concat_ws (',', app_id, version_code, download_count) as info from app;

    ?

    三、group_concat()

  • ?功能:將group by產生的同一個分組中的值連接起來,返回一個字符串結果
  • ?語法:group_concat( [distinct] 要連接的字段 [order by 排序字段 asc/desc] [separator '分隔符'] );group_concat(expr)
  • ?說明:distinct排除重復值,order by子句對結果集進行排序,separator指定分隔符,缺省為逗號;expr為表達式
  • select app_id, group_concat(distinct version_code ORDER BY version_code separator '-') as res1, group_concat(concat_ws('-', version_code, download_count)) as res2 from app group by app_id;

    注意點:

  • 有字段值為null時concat和concat_ws拼接后的結果有所不同,結果圖中紅框圈注
  • concat_ws第一個參數(指定分隔符)若為null,返回結果為null
  • 總結

    以上是生活随笔為你收集整理的MySQL之字符串拼接的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。