如果 name 列为空而 name_en 列不为空,那么使用 CONCAT(u.name, ' / ', u.name_en) 表达式会得到一个空的结果。这是因为在连接过程中,如果任何一个操作数为 NULLCONCAT 函数的结果也会是 NULL

为了避免这种情况,你可以使用 COALESCE 函数或 IFNULL 函数来处理可能为空的列。这些函数可以在操作数为 NULL 时返回一个默认值。

以下是使用 COALESCE 函数的示例,它将 name 列为空时使用 name_en 列的值:

SELECT CONCAT(COALESCE(u.name, ''), ' / ', u.name_en) AS concatenated_name
FROM your_table u

上述查询中,COALESCE(u.name, '') 表达式将 name 列的值替换为一个空字符串,以确保 CONCAT 函数不会返回 NULL