Concat() Function-SQL
-
在SQL中,
CONCAT()
函数用于将两个或多个字符串连接在一起。 -
不同数据库管理系统可能有些许差异,但基本用法和语法通常是相似的。
语法
CONCAT(string1, string2, ...)
string1
,string2
, …: 这些是需要连接的字符串参数。- 可以连接两个或多个字符串。
eg.
-
简单连接:
SELECT CONCAT('Hello', ' ', 'World') AS concatenated_string;
结果为
"Hello World"
。 -
连接列中的值:
假设有一个users
表,包含first_name
和last_name
列,你可以这样使用CONCAT()
:SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;
返回每个用户的全名,包含其
first_name
和last_name
,并在它们之间添加一个空格。 -
与其他函数一起使用:
SELECT CONCAT('User ID: ', id, ', Name: ', first_name, ' ', last_name) AS user_details FROM users;
将用户的 ID、姓名等信息连接成一个完整的用户详情字符串。
在不同数据库中的使用示例
-
MySQL:
SELECT CONCAT('Hello', ' ', 'World') AS concatenated_string;
-
PostgreSQL:
SELECT CONCAT('Hello', ' ', 'World') AS concatenated_string;
-
SQL Server:
SELECT CONCAT('Hello', ' ', 'World') AS concatenated_string;
Tips:
在MySQL中,CONCAT()
函数在处理包含 NULL
参数时,会返回 NULL
。
SELECT CONCAT('yushifu', '.', 'csdn.com', NULL);
这条SQL语句中,CONCAT()
函数被用来连接四个参数:'yushifu'
、.
、'csdn.com'
和 NULL
。
当连接到 NULL
时,根据SQL的规定,NULL
与任何其他值连接都会产生 NULL
。因此,整个 CONCAT()
函数的结果是 NULL
。
如果要避免结果是 NULL
的情况,可以使用 COALESCE()
函数或 IFNULL()
函数来处理可能的 NULL
值。
SELECT CONCAT('yushifu', '.', 'csdn.com', COALESCE(NULL, ''));
-- 或者
SELECT CONCAT('yushifu', '.', 'csdn.com', IFNULL(NULL, ''));
COALESCE()
和 IFNULL()
函数会将 NULL
转换成空字符串 ''
,这样 CONCAT()
函数就不会返回 NULL
了。