Mysql中的concat函数(拼接函数)详解
作者:幽幽唉 发布时间:2024-01-27 21:01:37
Mysql中的concat函数(拼接函数)
概述
很多时候,我们需要将不同地方获得的字符串拼接在一起,此时就需要使用CONCAT
和CONCAT_WS
函数
要连接两个或多个引用的字符串值,请将字符串放在一起,如下所示:
mysql> SELECT 'MySQL ' 'String ' 'Concatenation';
+----------------------------+
| MySQL |
+----------------------------+
| MySQL String Concatenation |
+----------------------------+
1 row in set
除了使用空格进行字符串连接之外,mysql还提供了两个连接字符串值的函数CONCAT
和CONCAT_WS
Mysql Concat函数
Mysql Concat
函数需要一个或多个字符串参数,并将他们连接成一个字符串。CONCAT()
函数需要至少一个参数,否则会引起报错。
CONCAT(string1,string2, ... );
CONCAT()函数在连接之前将所有参数转换为字符串类型。如果任何参数为NULL
,则CONCAT()
函数返回NULL
值。
mysql> SELECT CONCAT('MySQL','CONCAT');
+--------------------------+
| CONCAT('MySQL','CONCAT') |
+--------------------------+
| MySQLCONCAT |
+--------------------------+
1 row in set
如果是添加NULL
值,则CONCAT
函数将会返回一个NULL
值;
mysql> SELECT CONCAT('MySQL',NULL,'CONCAT');
+-------------------------------+
| CONCAT('MySQL',NULL,'CONCAT') |
+-------------------------------+
| NULL |
+-------------------------------+
1 row in set
Mysql Concat_Ws函数
MySQL提供了一种特殊形式的CONCAT()
函数:CONCAT_WS()
函数。CONCAT_WS()
函数将两个或多个字符串值与预定义的分隔符相连接。
下面说明了CONCAT_WS()
函数的语法:
CONCAT_WS(seperator,string1,string2, ... );
第一个参数是其他参数:string1
,string2
,...
的分隔符。
CONCAT_WS
函数在字符串参数之间添加分隔符,并返回单个字符串,并在字符串参数之间插入分隔符。
以下语句连接两个字符串值:Max
和Su
,并用逗号分隔这两个字符串:
SELECT CONCAT_WS(',','Max','Su');
SQL
执行上面查询语句,得到以下结果 -
mysql> SELECT CONCAT_WS(',','Max','Su');
+---------------------------+
| CONCAT_WS(',','Max','Su') |
+---------------------------+
| Max,Su |
+---------------------------+
1 row in set
Shell
当且仅当作为分隔符的第一个参数为NULL
时,CONCAT_WS
函数才返回NULL
。
mysql> SELECT CONCAT_WS(NULL ,'Jonathan', 'Minsu');
+--------------------------------------+
| CONCAT_WS(NULL ,'Jonathan', 'Minsu') |
+--------------------------------------+
| NULL |
+--------------------------------------+
1 row in set
与CONCAT
函数不同,CONCAT_WS
函数在分隔符参数之后跳过NULL
值。 换句话说,它忽略NULL
值
mysql> SELECT CONCAT_WS(',','Jonathan', 'Minsu',NULL);
+-----------------------------------------+
| CONCAT_WS(',','Jonathan', 'Minsu',NULL) |
+-----------------------------------------+
| Jonathan,Minsu |
+-----------------------------------------+
1 row in set
以下语句使用CONCAT_WS
函数构造完整的地址:
SELECT
CONCAT_WS(CHAR(13),
CONCAT_WS(' ', contactLastname, contactFirstname),
addressLine1,
addressLine2,
CONCAT_WS(' ', postalCode, city),
country,
CONCAT_WS(CHAR(13), '')) AS Customer_Address
FROM
customers;
SQL
执行上面查询语句,得到以下结果 -
+----------------------------------------------------------------------------------+
| Customer_Address |
+----------------------------------------------------------------------------------+
| Schmitt Carine
54, rue Royale
44000 Nantes
France |
************ 此处省略一 * 数据 *******
来源:https://blog.csdn.net/qq_43454016/article/details/123255614
猜你喜欢
- Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的
- <!doctype html><html><head><meta http-equiv
- 昨天在这个上面找了好久的错,嘤嘤嘤~很多时候我们在爬取数据存储的时候都需要将当前时间作为一个依据,在python里面没有时间类型可以直接拿来
- 最近在研究雨哲软件采集程序的时候,需要获取真实软件地址时遇到了需要读取跳转页面跳转后的真实地址的问题。在网上找了很多方法,使用WinHttp
- turtle库是python的基础绘图库,官方手册这个库被介绍为一个最常用的用来给孩子们介绍编程知识的方法库,其主要是用于程序设计入门,是标
- 最近利用tkinter+python+pyinstaller实现了小工具的项目,在此记录下pyinstaller相关参数以及爬过的坑。一、p
- 这几个技术都不是很新了,现在还拿出来说也就是为了教教新手了呵呵,各位大虾多多指正.css之所以出现就是为了实现数据与数据的表现形式的分离,
- 一、 网页设计中的对比原则一件网页设计作品由许多元素构成,它们的重要性各不相同,其中一些元素的重要性要高于其它元素。一些相互关联,而另一些则
- 本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052一、Mnist 分
- 本文将介绍PHP中单引号和双引号的区别。PHP中单引号和双引号简介在 PHP 中,我们使用引号来指定值是字符串文字。有两种不同类型的报价。它
- 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在
- 一、前言想必大家都玩过贪吃蛇的游戏吧:通过操纵蛇的移动方向能够让蛇吃到随机出现的食物,吃到的食物越多,蛇就会变得越长,但如果不小心撞到了自己
- 1.命令模式命令模式的目的是解耦调用操作的对象(调用者)和提供实现的对象(接收者)。命令模式的思路是在调用者和接收者之间插入一个命令类(Co
- 1.直方图直方图: (1) 图像中不同像素等级出现的次数 (2) 图像中具有不同等级的像素关于总像素数目的比值。我们使用cv2.calcHi
- WebStorm 遇到的问题总结最近自己WebStorm用得多一点了和android studio一样,同样是IDEA的ide(记得自己还是
- Python获取pid和进程名字1、安装psutilpip install psutil如果pip不识别,就进入下载的python目录下面执
- 我们现在使用的验证手段都是以验证码为主,让用户根据图片输入验证字符,这种方法的安全度尚可,但会给用户带来一些不便和困扰,比如这个雅虎的验证码
- 例如:将日期格式为2009-6-8的转换为2009-06-08,给小于10的数字补上一个0方法一:year(now)
- 前言最近在使用Python的时候遇到浮点数运算,发现经常会碰到如下情况:出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些
- 求3721,163,1,4832,1980,2008,68686688,9999,17173,5173,8848中最大的数明白后,试着求一下