【发布时间】:2022-01-26 19:30:38
【问题描述】:
假设我们有一个这样的 MySQL 表:
middle first last name
--------------------------- -------------
reyes sanchez reyes sanchez
antonio cruz antonio cruz
m michael middleton m michael middleton
a greg allen a greg allen
如何编写一个语句来组合这 3 个列,使其看起来像名为 name 的列?我们可以假设中间、第一和最后一列不可为空,但可以为空、有空格,或者如果非空,则左/右侧有空格?
我试着写这样的东西:
CONCAT(middle + ' ', RTRIM(first), RTRIM(last)) AS name
但即使是第一个结果也显示了这一点:0reyessanchez,我不知道如何在两者之间插入一个空格,我不知道为什么 MySQL 插入一个 0 而不是取空格。
【问题讨论】:
-
middle + ' '是一个数学表达式。你的意思可能是CONCAT(middle, ' ')。