IFNULL内的Concat

时间:2015-11-09 15:41:19

标签: mysql concat ifnull

我有一个声明

if system('rspec spec') # return true if command was successful, false otherwise
  # if green
else
  # if red
end

工作得很好,它给了我所有名字是否有中间名。我的问题是,我不想在没有中间名的记录的名字后面加上空格,如果可能的话。如果有中间名,我怎么才能在名字后面添加空格?

3 个答案:

答案 0 :(得分:1)

SELECT CONCAT(lastName, ' ', firstName, if(middleName IS NULL,'',' '), IFNULL(middleName, ''))

SELECT CONCAT(lastName, ' ', firstName, IFNULL(concat(' ', middleName), ''))

答案 1 :(得分:1)

你需要的只是:

SELECT CONCAT(lastName, ' ', firstName, 
               IF(middleName is null, '', concat(' ', middleName)))

更简单的方法是:

SELECT TRIM(CONCAT(lastName, ' ', firstName, ' ', IFNULL(middleName, ' ')))

答案 2 :(得分:-1)

使用IF

SELECT CONCAT(lastName, ' ', firstName, 
    IF(middleName IS NOT NULL, CONCAT(' ',middleName), ''))