CONCAT()
是 MySQL 中的一个字符串函数,用于将两个或多个字符串连接成一个字符串。其基本语法如下:
CONCAT(string1, string2, ..., stringN)
CONCAT()
函数的语法非常直观,易于理解和使用。SUBSTRING()
, UPPER()
, LOWER()
等)进行更复杂的字符串操作。SELECT CONCAT('Hello', ' ', 'World') AS result;
输出:
result
-------
Hello World
假设有一个 users
表,包含 first_name
和 last_name
字段:
CREATE TABLE users (
id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50)
);
INSERT INTO users (id, first_name, last_name) VALUES (1, 'John', 'Doe');
INSERT INTO users (id, first_name, last_name) VALUES (2, 'Jane', 'Smith');
查询时拼接 first_name
和 last_name
:
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;
输出:
full_name
----------------
John Doe
Jane Smith
||
操作符(仅在某些数据库系统中支持)在某些数据库系统(如 PostgreSQL)中,可以使用 ||
操作符来连接字符串:
SELECT first_name || ' ' || last_name AS full_name FROM users;
CONCAT_WS()
函数CONCAT_WS()
是 CONCAT()
的一个变体,专门用于连接字符串并指定一个分隔符。其语法如下:
CONCAT_WS(separator, string1, string2, ..., stringN)
示例:
SELECT CONCAT_WS(' ', first_name, last_name) AS full_name FROM users;
CONCAT()
函数返回 NULL
如果任何一个参数为 NULL
,CONCAT()
函数将返回 NULL
。
解决方法:
IFNULL()
或 COALESCE()
函数处理可能为 NULL
的字段:SELECT CONCAT(IFNULL(first_name, ''), ' ', IFNULL(last_name, '')) AS full_name FROM users;
CONCAT_WS()
函数,它会忽略 NULL
值:SELECT CONCAT_WS(' ', first_name, last_name) AS full_name FROM users;
通过这些方法,可以有效避免因 NULL
值导致的查询问题。
企业创新在线学堂
云+社区沙龙online第5期[架构演进]
企业创新在线学堂
企业创新在线学堂
DBTalk
腾讯云消息队列数据接入平台(DIP)系列直播
云+社区技术沙龙[第14期]
DB TALK 技术分享会
serverless days
领取专属 10元无门槛券
手把手带您无忧上云