[Mysql] CONCAT函数 | CONCAT_WS函数

这篇具有很好参考价值的文章主要介绍了[Mysql] CONCAT函数 | CONCAT_WS函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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表

[Mysql] CONCAT函数 | CONCAT_WS函数

-- 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

[Mysql] CONCAT函数 | CONCAT_WS函数

例题2

[Mysql] CONCAT函数 | CONCAT_WS函数

例题3

[Mysql] CONCAT函数 | CONCAT_WS函数

-- 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

[Mysql] CONCAT函数 | CONCAT_WS函数

例题2

[Mysql] CONCAT函数 | CONCAT_WS函数文章来源地址https://www.toymoban.com/news/detail-400388.html

到了这里,关于[Mysql] CONCAT函数 | CONCAT_WS函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • hive的concat()、concat_ws()和collect_list()、collect_set()的用法

    concat():函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL。 concat_ws():函数在连接字符串的时候,只要有一个字符串不是NULL,就不会返回NULL。concat_ws():函数需要指定分隔符。 他们都是将分组中的某列转为一个数组返回,不同的是collect_list不去重,而collect_s

    2024年02月04日
    浏览(51)
  • Hive-concat_ws 详解

    concat_ws  是 Hive 中的一个函数,用于在给定分隔符的情况下连接字符串数组或字符串。它的语法如下: 参数说明: separator : 分隔符,用于连接字符串。可以是任何有效的字符串。 const1, const2, const3, ... : 要连接的字符串或字符串数组。 该函数将使用指定的分隔符将所有提供的

    2024年02月04日
    浏览(46)
  • mysql GROUP_CONCAT函数详解

    ` group_concat函数是mysql中非常实用的函数,它可以将同一个分组下的行拼接在一起。其完整语法: GROUP_CONCAT([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’]) 1. 建表、插入数据 2.以id分组,把age字段的值拼成一行,逗号分隔(默认) 3.以id分组,把age字段的值

    2024年02月07日
    浏览(44)
  • Mysql 合并多个分组。GROUP_CONCAT 函数 及其平替函数

    GROUP_CONCAT 函数用于将一个分组内的多行数据合并成一个字符串,并以指定的分隔符进行分隔。常用于需要将一个分组内的多条数据以字符串的形式展示的情况。语法如下: GROUP_CONCAT(expr [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [, expr ...]] [SEPARATOR str_val]) 其中,expr 表示要

    2024年02月02日
    浏览(53)
  • SQLServer CONCAT函数

            在SQL Server中,CONCAT函数用于将两个或多个字符串连接在一起,返回一个新的字符串。可以将任意数量的字符串连接在一起,并且可以包含任何类型的字符串,包括常量、变量、列名和其他函数的结果。         ​​​在SQL Server中,使用 CONCAT 函数比直接使用

    2024年02月11日
    浏览(39)
  • MySQL日期格式及日期函数

    日期格式 日期函数 CURDATE()和CURRENT_DATE() CURTIME()和CURRENT_TIME() NOW()和CURRENT_TIMESTAMP() DATE_FORMAT() DATE_ADD()和DATE_SUB() DATEDIFF() DATE() DAYNAME()和MONTHNAME() Java示例代码 总结 在MySQL中,日期可以使用多种格式进行存储和表示。常见的日期格式包括: DATE:仅包含日期部分,格式为\\\'YYYY-MM-

    2024年02月09日
    浏览(40)
  • 如何修改Mysql表名

    在 MySQL 中,可以使用 RENAME TABLE 命令来修改表名。具体步骤如下: 打开 MySQL 客户端或 MySQL 工具,连接到要修改表名的数据库中。 输入以下命令, 我们直接看下面代码 半杯不啰嗦,希望能帮助到有需要的那个人!

    2024年02月11日
    浏览(36)
  • MySQL日期格式及日期函数实践

    目录 日期格式 日期函数 CURDATE()和CURRENT_DATE() CURTIME()和CURRENT_TIME() NOW()和CURRENT_TIMESTAMP() DATE_FORMAT() DATE_ADD()和DATE_SUB() DATEDIFF() DATE() DAYNAME()和MONTHNAME()   1. 日期格式 在MySQL中,日期可以使用多种格式进行存储和表示。常见的日期格式包括: DATE:仅包含日期部分,格式为\\\'YYYY-M

    2024年02月10日
    浏览(42)
  • Mysql日期格式及内置日期函数

    MySQL中常用的几种时间类型有:date、datetime、time、year、timestamp datetime和timestamp的区别 相同点 : 存储格式相同 datetime和timestamp 两者的时间格式都是YYYY-MM-DD HH:MM:SS 不同点 : a. 存储范围不同. datetime的范围是1000-01-01到9999-12-31. 而timestamp是从1970-01-01到2038-01-19, 即后者的时间范围很

    2023年04月09日
    浏览(38)
  • 解决pandas的concat函数导致索引失效的方法

    最近在写数据的时候看到用一个concat函数进行整合,但是下面这段代码之后就碰上个很奇怪的地方 这段代码首先就是用dfs记录了每一组数据,最后使用concat函数进行连接。在这之后我希望在特定位置插入一列数据 一共有三种类型的文本,10条数据,在df格式下前面也有索引。

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包