我需要CONCAT
兩個字段,如果它們都存在並在第二個字段周圍加括號。否則,我只需要列出第一個字段。MySQL CONCAT IFNULL如何使用兩個以上的值?
下面是簡單的版本:
SELECT id, CONCAT(name,' (',nickname,')') as name FROM user;
只要名字和暱稱都存在,你應該得到類似的結果:
1 | Adam (Alpha Dog)
2 | Bob (Bobby)
3 | Charles (Charlie)
但是,如果沒有暱稱它只是跳過了整個事情null
。例如:ID 4
,名Doug
,綽號null
給出結果:
4 | null
我想看到的是它僅列出名字......這樣的:
4 | Doug
所以我開始尋找CONCAT
IFNULL
。但我很難做到這一點。你能幫我嗎?
這裏是我試過的東西的幾個例子:
SELECT id, CONCAT(IFNULL(name, ' (', nickname, ')', name) as name FROM user;
SELECT id, CONCAT(name, IFNULL(' (', nickname, ')')) as name FROM user;
IFNULL(CONCAT('(',nickname,')'),'') –
有些事情要指出,首先把我扔掉。當暱稱爲空時,CONCAT('(',暱稱,')')也將返回null。 –