欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL實現(xiàn)字段或字符串拼接的三種方式總結(jié)

 更新時間:2023年01月05日 14:12:34   作者:牛奶咖啡13  
這篇文章主要為大家詳細介紹了MySQL中實現(xiàn)字段或字符串拼接的三種方式,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

一、CONCAT函數(shù)

concat函數(shù)是將多個字段或字符串拼接為一個字符串;但是字符串之間沒有任何分隔。

concat函數(shù)官方介紹

-- CONCAT函數(shù)的語法如下:
CONCAT(str1,str2,...)

1.1、拼接非空字段或字符串

SELECT CONCAT(字段1,字段2,字段3,...) from 表名;
 
-- 拼接表字段示例
SELECT CONCAT(id,genre,release_year) result from movies;

執(zhí)行結(jié)果如下:

SELECT CONCAT(字符串1,字符串2,字符串3,...) ;
 
-- 拼接字符串示例
SELECT CONCAT('張三','李四','王五') result;

執(zhí)行結(jié)果如下:

1.2、拼接空(NULL)字段

如果拼接的字段中有一個為null,則結(jié)果為null。

SELECT CONCAT(字符串1,字符串2,字符串3,...) ;
 
-- 拼接含有NULL字符串示例
SELECT CONCAT('張三',NULL,'王五') result;

執(zhí)行結(jié)果如下:

二、CONCAT_WS函數(shù)

concat_ws函數(shù)將多個字段或字符串拼接為一個字符串,且字符串直接可以指定分隔符;

concat_ws函數(shù)的官方介紹

-- CONCAT_WS函數(shù)的語法如下:
CONCAT_WS(separator,str1,str2,...)

2.1、拼接非空字段或字符串

-- 拼接非空字段示例:
SELECT CONCAT_WS(' ',id,genre,release_year) result from movies;
 
-- 拼接字符串示例:
SELECT CONCAT_WS(' ','張三','李四','王五') result ;

執(zhí)行結(jié)果如下:

2.2、拼接空(NULL)字段

-- 拼接空(NULL)字符串示例:
SELECT CONCAT_WS(' ','張三',NULL,'王五') result ;

執(zhí)行結(jié)果如下:

三、GROUP_CONCAT函數(shù)

group_concat函數(shù)可以將多行字段數(shù)據(jù)合并為一行;且內(nèi)容之間可以指定分隔符;

group_concat函數(shù)的官方介紹

group_concat函數(shù)的官方介紹翻譯

-- group_concat函數(shù)的語法如下:
GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                 [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val]
             [LIMIT {[offset,] row_count | row_count OFFSET offset}])

3.1、默認以逗號分隔符連接

-- 默認的逗號分隔
SELECT GROUP_CONCAT(字段名) from 表名;
 
-- 默認逗號分隔示例:
SELECT GROUP_CONCAT(genre) from movies;

執(zhí)行結(jié)果如下:

3.2、可自定義對字段去重排序和指定分隔符

3.2.1、自定義分隔符

-- 自定義字符串分隔符
SELECT GROUP_CONCAT(字段名 SEPARATOR '分隔符號') from 表名;
 
-- 示例:
SELECT GROUP_CONCAT(genre SEPARATOR ';') from movies;

3.2.2、將整數(shù)轉(zhuǎn)為字符串

--將整數(shù)字段轉(zhuǎn)為字符
SELECT GROUP_CONCAT(CAST(字段名 as CHAR) SEPARATOR '分隔符號') from 表名;
 
-- 示例
SELECT GROUP_CONCAT(CAST(id as CHAR) SEPARATOR ';') from movies;

執(zhí)行結(jié)果如下:

3.2.3、多字段拼接

-- 多字段拼接
SELECT GROUP_CONCAT(字段1,字段2,字段3 SEPARATOR '分隔符號') from 表名;
 
-- 示例
SELECT GROUP_CONCAT(release_year,genre,imdb SEPARATOR ';') from movies;

執(zhí)行結(jié)果如下:

3.2.4、字段去重排序和自定義分隔

-- 字段去重排序和自定義分隔
SELECT GROUP_CONCAT(DISTINCT 字段名 ORDER BY 字段名 asc或desc SEPARATOR '分隔符號') from movies;
 
-- 示例
SELECT GROUP_CONCAT(DISTINCT genre ORDER BY genre DESC SEPARATOR ';') from movies;

執(zhí)行后結(jié)果如下:

3.3、group_concat的限制和設置

3.3.1、查看當前group_concat函數(shù)的長度

默認是1024字節(jié)即1k;

-- 查看當前group_concat函數(shù)的長度
show variables like 'group_concat_max_len';

執(zhí)行結(jié)果如下:

3.3.2、設置當前Session的group_concat函數(shù)的長度,不影響其他的Session

-- 設置當前Session的group_concat的長度為1M
SET SESSION group_concat_max_len = 1048576;

執(zhí)行結(jié)果如下:

3.3.3、設置全局 group_concat函數(shù)的長度,需斷開后重新連接才生效

-- 設置全局 group_concat函數(shù)的長度,需斷開后重新連接才生效
SET GLOBAL group_concat_max_len = 1048576;

執(zhí)行結(jié)果如下:

到此這篇關(guān)于MySQL實現(xiàn)字段或字符串拼接的三種方式總結(jié)的文章就介紹到這了,更多相關(guān)MySQL字段 字符串拼接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論