MySQL中的CONCAT()函数用于连接给定的参数。它可能有一个或多个参数。如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果参数包含任何二进制字符串,则结果为二进制字符串。如果给出数字参数,则将其转换为其等效的非二进制字符串形式。
用法:
CONCAT(str1, str2, ...)
参数:此方法接受N参数。
str1,str2.str3…:我们要连接的输入字符串。
返回值:连接所有输入字符串后,它将返回一个新字符串。如果任何输入字符串为NULL,则返回NULL。
示例1:
使用CONCAT函数连接3个字符串。
SELECT CONCAT('geeks', 'for', 'geeks') AS ConcatenatedString ;
输出:
串连字串
geeksforgeeks
示例2:
使用CONCAT函数连接数字字符串。
SELECT CONCAT(19, 10, 5.60) AS ConcatenatedNumber ;
输出:
级数
19105.60
示例3:
使用CONCAT函数连接包含NULL字符串的字符串。
SELECT CONCAT('geeks', 'for', 'geeks', NULL) AS ConcatenatedString ;
输出:
串连字串
NULL
示例4:
在此示例中,我们将在表的各列之间串联字符串。为了演示,创建一个名为Student的表。
CREATE TABLE Student(
StudentId INT AUTO_INCREMENT,
FirstName VARCHAR(100) NOT NULL,
LastName VARCHAR(100) NOT NULL,
Class VARCHAR(20) NOT NULL,
City VARCHAR(20) NOT NULL,
State VARCHAR(20) NOT NULL,
PinNo INT NOT NULL,
PRIMARY KEY(StudentId )
);
现在将一些数据插入到Student表中:
INSERT INTO
Student(FirstName, LastName, Class, City, State, PinNo )
VALUES
('Sayantan', 'Maity', 'X', 'Kolkata', 'WestBengal', 700001 ),
('Nitin', 'Shah', 'XI', 'Jalpaiguri', 'WestBengal', 735102 ),
('Aniket', 'Sharma', 'XI', 'Midnapore', 'WestBengal', 721211 ),
('Abdur', 'Ali', 'X', 'Malda', 'WestBengal', 732101 ),
('Sanjoy', 'Sharama', 'X', 'Kolkata', 'WestBengal', 700004 ) ;
因此,Student表为:
Select * From Student ;
学生卡
名字
姓
类
市
州
销号
1
Sayantan
Maity
X
Kolkata
WestBengal
700001
2
Nitin
Shah
XI
Jalpaiguri
WestBengal
735102
3
Aniket
Sharma
XI
Midnapore
WestBengal
721211
4
Abdur
Ali
X
Malda
WestBengal
732101
5
Sanjoy
Sharama
X
Kolkata
WestBengal
700004
现在,我们将使用CONCAT函数将FirstName和LastName连接起来以获得FullName,并把City,State和PinNo连接起来以获得Address。
Select
StudentId, FirstName, LastName,
CONCAT(FirstName, ' ', LastName) AS FullName,
CONCAT(City, ' ', State, ' ', PinNO) AS Address
FROM Student;
输出:
学生卡
名字
姓
全名
地址
1
Sayantan
Maity
撒但坦女神
加尔各答西孟加拉700001
2
Nitin
Shah
尼丁·沙(Nitin Shah)
Jalpaiguri West孟加拉语735102
3
Aniket
Sharma
阿妮克特·夏尔马
Midnapore西孟加拉721211
4
Abdur
Ali
阿卜杜勒·阿里
马尔达·西孟加拉邦732101
5
Sanjoy
Sharama
Sanjoy Sharama
加尔各答西孟加拉700004