CONCAT函数
格式:SELECT CONCAT(str1,str2,...) FROM [表名];
将多个字段拼接为一个字段 (字符串 str1,str2 等多个字符串合并为一个字符串,多个字符串之间用逗号分隔)
可以有很多个参数,如果参数有一个是NULL,则结果返回NULL(使用CONCAT()函数对包含NULL的数据进行拼接时,结果为NULL,所以在对数据进行拼接之前,应该先检查要拼接的字段是否存在NULL)
适合场景: 1.组合多列信息为一列 2.对列的信息进行补充
-- 结果是MySQL
SELECT CONCAT('My', 'S', 'QL');
-- 结果是SQL Runoob Gooogle Facebook
SELECT CONCAT("SQL ", "Runoob ", "Gooogle ", "Facebook")
-- 结果是Null
SELECT CONCAT('My', NULL, 'QL');
-- 一个数字参数被变换为等价的字符串形式
-- 结果是143
SELECT CONCAT(14,3);
CONCAT_WS函数
格式:SELECT CONCAT_WS(‘拼接符’,str1,str2,...) FROM [表名];
同CONCAT(s1,s2,...) 函数,但是每个字符串之间要加上拼接符
适合场景:多字段拼接,字段间使用同样的拼接符(会自动跳过NULL)
-- 结果是data_frog_study
SELECT CONCAT_WS("_", "data", "frog", "study");
-- 结果是SQL-Tutorial-is-fun!
SELECT CONCAT_WS("-", "SQL", "Tutorial", "is", "fun!")AS ConcatenatedString;
案例
导入数据
DROP TABLE IF EXISTS `milk_tea`;
CREATE TABLE `milk_tea` (
`prod_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`prod_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`net_w` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`pro_date` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`valid_month` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`in_price` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`sale_price` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `milk_tea` VALUES ('1', '奶茶', '150g', '2018-09-11 00:00:00.000', '12', '10.8', '15');
INSERT INTO `milk_tea` VALUES ('2', '奶糖', '150g', '2019-05-13 00:00:00.000', '18', '12.3', '20');
INSERT INTO `milk_tea` VALUES ('3', '棒棒糖', '15g', '2019-04-29 00:00:00.000', '18', '2.1', '2.5');
INSERT INTO `milk_tea` VALUES ('4', '饼干', '200g', NULL, '12', '16.1', '23');
INSERT INTO `milk_tea` VALUES ('5', '薯片', '100g', '2018-08-27 00:00:00.000', '12', '9.3', '15');
INSERT INTO `milk_tea` VALUES ('6', '薯条', '100g', '2018-08-31 00:00:00.000', '12', '8.8', '15');
INSERT INTO `milk_tea` VALUES ('7', '火腿肠', '550g', '2019-02-04 00:00:00.000', '12', '15.5', NULL);
INSERT INTO `milk_tea` VALUES ('8', '方便面', '100g', '2018-12-09 00:00:00.000', '18', '3.6', '4');
milk_tea表
-- CONCAT函数
-- 例题1
SELECT m.*, CONCAT(m.prod_name,m.net_w)AS 产品信息
FROM milk_tea AS m;
-- 例题2
SELECT m.*, CONCAT(m.prod_name,' (',m.net_w,')')AS 产品信息
FROM milk_tea AS m;
-- 例题3
SELECT m.*, CONCAT(m.prod_name,'是',m.net_w,'是',m.sale_price)AS 产品信息
FROM milk_tea AS m;
例题1
例题2文章来源:https://www.toymoban.com/news/detail-400388.html
例题3
-- CONCAT_WS函数
-- 例题1
SELECT m.*, CONCAT_WS('是',m.prod_name,m.net_w,m.sale_price)AS 产品信息
FROM milk_tea AS m;
-- 例题2
SELECT m.*, CONCAT_WS('+',m.prod_name,m.net_w,m.sale_price)AS 产品信息
FROM milk_tea AS m;
例题1
例题2
文章来源地址https://www.toymoban.com/news/detail-400388.html
到了这里,关于[Mysql] CONCAT函数 | CONCAT_WS函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!