1

所以说我有这样的东西

SELECT CONCAT(fname, " " IFNULL(mname, ""), lname) FROM name

如果 mname 不为空,我将如何在该语句中添加空格?我尝试过的任何方法都没有奏效,我有点迷失了。显然我可以做类似的事情

SELECT CONCAT(fname, " " IFNULL(mname, ""), " " lname) FROM name

但这给了我两个空格而不是 1。

4

1 回答 1

1

CONCAT在中间名中使用另一个:

SELECT CONCAT(fname, 
              IF(mname is null, "", CONCAT(" ", mname)), 
              " " lname) 
  FROM name
于 2013-02-10T22:39:59.107 回答