mysql的连接函数
今天遇到了一个简单的场景,需要sql连接两个字段显示。
语法是这样的
1 | SELECT CONCAT_WS(' ',snh.userneeds, snh.beizhu) AS connect_info ,snh.createTime, lmu.createTime as regTime |
一开始用的是CONCA函数,但是当时出现了一个奇怪的情况,后来查询才知道,当我连接的两个字段里面其中一个为null的时候,拼接后的结果也是null
在查询之后使用了CONCAT_WS函数
CONCAT()
:CONCAT()
函数用于拼接两个或多个字符串。1
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
CONCAT_WS()
:CONCAT_WS()
函数用于拼接字符串,并在每个字符串之间插入指定的分隔符。1
SELECT CONCAT_WS(', ', last_name, first_name) AS full_name FROM employees;
CONCAT_NULL_YIELDS_NULL
: 这是 MySQL 的系统变量,用于控制拼接操作的行为。如果设置为ON
(默认值),当任何一个操作数为NULL
时,拼接结果将为NULL
。如果设置为OFF
,则不会将NULL
视为NULL
。字符串运算符 (
||
): MySQL 支持标准 SQL 中的字符串拼接运算符||
。1
SELECT first_name || ' ' || last_name AS full_name FROM employees;
这些函数和运算符允许您在 SQL 查询中执行字符串拼接操作。您可以根据自己的需求选择适当的函数或运算符。