我已在SELECT語句的語法如下:如何使用COALESCE()來添加其他字符
CONCAT(first_name, " ", COALESCE(middle_initial), " ", last_name) AS full_name
很顯然,我所得到的是這樣的:
For first_name='John' and middle_initial='A.' and last_name='Smith'
I get 'John A. Smith'
即罰款和是期望的結果。
,但我得到以下數據(這我清楚地明白爲什麼)的額外空間:
For first_name='John' and middle_initial='' and last_name='Smith'
I get 'John Smith'
是否與COALESCE()
辦法追加「」如果條件返回一個非空值?
謝謝。
如果你的'middle_initial'是一個空字符串,它不一定'NULL'。有些RDBMS將''''和'NULL'視爲同一件事,有些則不然。你正在使用哪種RDBMS? – MatBailie
MySQL與表和列整理「utf8_general_ci」 –
謝謝@Dems - 我不嫁給COALSCE() - 它似乎讓我接近我試圖做的事情。有沒有不同的方式來做到這一點 - 比如說使用IF()? –