MySQL 中的 CONCAT()函数
MySQL 中的CONCAT()函数用于连接给定的参数。它可能有一个或多个参数。如果所有参数都是非二进制字符串,则结果为非二进制字符串。如果参数包含任何二进制字符串,则结果为二进制字符串。如果给出了数字参数,则将其转换为其等效的非二进制字符串形式。
句法 :
CONCAT(str1, str2, ...)
参数:此方法接受 N 个参数。
- str1, str2.str3.... :我们要连接的输入字符串。
返回:连接所有输入字符串。如果任何输入字符串为 NULL,则返回 NULL。
示例-1:
使用 CONCAT函数连接 3 个字符串。
SELECT CONCAT('geeks', 'for', 'geeks') AS ConcatenatedString ;
输出 :
ConcatenatedString |
---|
geeksforgeeks |
示例 2 :
使用 CONCAT函数连接数字字符串。
SELECT CONCAT(19, 10, 5.60) AS ConcatenatedNumber ;
输出 :
ConcatenatedNumber |
---|
19105.60 |
示例 3 :
使用 CONCAT函数连接包含 NULL字符串的字符串。
SELECT CONCAT('geeks', 'for', 'geeks', NULL) AS ConcatenatedString ;
输出 :
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 ) ;
所以,学生表是:
Select * From Student ;
StudentId | FirstName | LastName | Class | City | State | PinNo |
---|---|---|---|---|---|---|
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 |
现在,我们将连接 FirstName 和 LastName 以获取 FullName 和 City、State 和 PinNo 以使用 CONCAT 函数获取地址。
Select
StudentId, FirstName, LastName,
CONCAT(FirstName, ' ', LastName) AS FullName,
CONCAT(City, ' ', State, ' ', PinNO) AS Address
FROM Student;
输出 :
StudentId | FirstName | LastName | FullName | Address |
---|---|---|---|---|
1 | Sayantan | Maity | Sayantan Maity | Kolkata WestBengal 700001 |
2 | Nitin | Shah | Nitin Shah | Jalpaiguri WestBengal 735102 |
3 | Aniket | Sharma | Aniket Sharma | Midnapore WestBengal 721211 |
4 | Abdur | Ali | Abdur Ali | Malda WestBengal 732101 |
5 | Sanjoy | Sharama | Sanjoy Sharama | Kolkata WestBengal 700004 |