MySQL 中的 CONCAT_WS()函数
CONCAT_WS() :
MySQL 中的这个函数有助于连接两个或多个字符串以及一个分隔符。分隔符必须由用户指定,也可以是字符串。如果分隔符为 NULL,则结果也将为 NULL。
句法 :
CONCAT_WS(separator, string1, string2, ...)
参数 :
- 分隔器 -
将在连接 string1、string2 等时在字符串之间添加的分隔符。 - [string1, string2 …] –
需要连接的输入字符串。
返回 :
在连接所有给定的字符串以及指定的分隔符后,它将返回一个新字符串。如果所有输入字符串都是 NULL,则结果将为 NULL。如果分隔符为 NULL,它将返回 NULL。
示例 1:
使用 CONCAT_WS函数连接 2 个字符串,如下所示。
SELECT CONCAT_WS(": ", "Geek ", "Vansh ") AS ConcatWsStr;
输出 :
ConcatWsStr |
---|
Geek : Vansh |
示例 2 :
使用 CONCAT_WS函数连接 3 个字符串,如下所示。
SELECT CONCAT_WS("@ ", "Geek ", "Vansh ", 13 ) AS ConcatWsStr;
输出 :
ConcatWsStr |
---|
Geek @ Vansh @ 13 |
示例 3 :
使用 NULL 分隔符连接 NULL字符串,如下所示。
SELECT CONCAT_WS(NULL, NULL, "Vansh ", 13 ) AS ConcatWsStr;
输出 :
ConcatWsStr |
---|
NULL |
示例 4:
使用 CONCAT_WS函数连接表的列,如下所示。
创建员工表:
CREATE TABLE Emp(
Employee_Id INT AUTO_INCREMENT,
FirstName VARCHAR(100) NOT NULL,
LastName VARCHAR(100) NOT NULL,
Residence VARCHAR(50) NOT NULL,
Salary INT NOT NULL,
PRIMARY KEY(Employee_Id )
);
插入数据到表中:
INSERT INTO Emp(FirstName, LastName, Residence, Salary )
VALUES
('Animesh', 'Garg', 'Delhi', 70000 ),
('Neshu', 'Sharma', 'Nepal', 73000 ),
('Aryan', 'Sharma', 'WestBengal', 72000 ),
('Abdul', 'Ali', 'Delhi', 73000 ),
('Seema', 'Sharma', 'Bihar', 70000 ) ;
要验证使用以下命令如下。
Select * From Emp;
输出 :
Employee_Id | FirstName | LastName | Residence | Salary |
---|---|---|---|---|
1 | Animesh | Garg | Delhi | 70000 |
2 | Neshu | Sharma | Nepal | 73000 |
3 | Aryan | Sharma | WestBengal | 72000 |
4 | Abdul | Ali | Delhi | 73000 |
5 | Seem | Sharma | Bihar | 70000 |
现在,使用“_”作为分隔符连接给定 Emp 表的 FirstName 和 LastName,以形成一个新列作为 FullName。
SELECT CONCAT_WS('_', FirstName, LastName) AS FullName
From Emp;
输出 :
FullName |
---|
Animesh_Garg |
Neshu_Sharma |
Aryan_Sharma |
Abdul_Ali |
Seema_Sharma |