MySQL Concat 字符串

MySQL Concat 是字符串函数之一,它有助于合并两个或多个句子并以字符串形式输出。如果传递给此函数的任何参数为 Null 值,则结果显示为 NULL。

MySQL 字符串 Concat 的基本语法如下所示

SELECT CONCAT (String 1, String 2,.., String N)
FROM Source

此函数返回由参数 string1、string2…stringN 连接而成的二进制字符串。为了演示此 Concat 字符串函数,我们将使用下面显示的表格数据。

Source Table records

MySQL Concat 字符串示例

该方法通过连接两个或多个句子或参数来返回字符串。例如,下面的查询显示了相同的内容。

SELECT CONCAT('Learn', ' MySQL Server', ' For Free') AS 'MySQLTutorial'

从下面的截图可以看出,它将 Learn、MySQL Server 和 For Free 组合起来,并返回组合后的句子。

text and NULL 0

我尝试将 NULL 值作为第三个参数传递。

SELECT CONCAT('Learn', ' MySQL Server', NULL) AS 'MySQLTutorial'

从下面的截图可以看出,此字符串函数返回的结果为 NULL

example 1

字符串连接示例 2

在此字符串 concat 示例中,我们将连接 Employ 表中的 First_Name 和 Last_Name 列以获取 Full Name。

USE company;
SELECT  First_Name, Last_Name,
	CONCAT(First_Name,' ', Last_Name) AS 'Full Name',
	Education, Profession, Yearly_Income, Sales
FROM customerdetails;
Concat with spaces 2

提示:我们使用此“ ”在名字和姓氏之间获取空格。如果您想要逗号或其他内容,请将空格替换为逗号。

MySQL Concat 字符串与 Nulls 示例

在此示例中,我们展示了当遇到表行中的 NULL 值时它的反应。我们将组合 Education、Sales 和一些示例文本。

USE company;
SELECT  First_Name, Last_Name,
	Education, Profession,        
        Yearly_Income, Sales,
        CONCAT(Education, 'Sales Amount is: ', Sales) AS 'Sales Info'
FROM customerdetails;

从下面的截图可以看出,它为四行返回了 NULL 结果。

MySQL Concat String Function with null values 3

Concat 字符串 WHERE 子句

此示例说明了如何在 where 子句中使用 Concat 函数。首先,我们使用 concat 连接 First_Name 和 Last_Name 列以获取 Full Name。接下来,我们在where 子句中使用相同的函数来检查 full name 是否等于 Tutorial Gateway。

USE company;
SELECT  First_Name, Last_Name,
	CONCAT(First_Name,' ', Last_Name) AS 'Full Name',
	Education, Profession, Yearly_Income, Sales
FROM customerdetails
WHERE CONCAT(First_Name,' ', Last_Name) = 'Tutorial Gateway';

与其使用此方法,您还可以使用别名 Full Name 在 where 子句中使用。但是,WHERE 子句不理解别名列名,该别名列名是在SELECT 语句中声明的。

Concat String Function and where clause 4

使用通配符的 MySQL Concat 字符串

这与我们之前示例中使用的示例相同。但是,这次我们使用了通配符来搜索以“smith”结尾的单词。

USE company;
SELECT  First_Name, Last_Name,
	CONCAT(First_Name,' ', Last_Name) AS 'Full Name',
	Education, Profession, Yearly_Income, Sales
FROM customerdetails
WHERE CONCAT(First_Name,' ', Last_Name) LIKE '%Smith';
Concat String using wildcards 5

命令提示符示例

在此示例中,我们在命令提示符中编写了一个字符串 Concat 函数。在这里,我们使用此函数将 Profession、Sales 和 Yearly Income 与一些静态文本结合起来。

USE company;
SELECT  CONCAT(First_Name, ' ', Last_Name) AS 'Full Name',
	    Education,      
        CONCAT(Profession, ' Person of Sales : ', Sales, 
               ' is earning : ', Yearly_Income, ' Per Year') AS 'Sales Info'
FROM customerdetails
ORDER BY Education;