在
PHP中,我需要更改此数据
FirstName | MiddleName | LastName --------------------------------- Robert | Thomas | Smith
进入字符串“史密斯,罗伯特托马斯”
我不确定我是否需要使用join,concat或concat_ws.
我知道,如果我使用
concat_ws(',',LastName,FirstName,MiddleName)
然后我得到“史密斯,罗伯特,托马斯”,但我需要“史密斯,罗伯特托马斯”.
任何建议?
我意识到这是一个死灵,但值得注意以下几点:
但是,最值得注意的区别是,对于任何输入为NULL的情况,CONCAT
可能不会返回您期望的结果.在这些情况下,CONCAT
将返回NULL,而CONCAT_WS
将跳过NULL值,并仍返回包含其余输入结果的字符串.这意味着在大多数情况下,您可能希望使用CONCAT_WS
.
除非一个或多个输入为NULL,否则以下是等效的:
// Result: LastName,MiddleName CONCAT( LastName,MiddleName ) // Result: LastName,MiddleName CONCAT_WS( ',MiddleName )
如果要将CONCAT_WS
与不同的“分隔符”一起使用,只需将第一个输入设置为空字符串:
// Result: LastName,FirstName (MiddleName) CONCAT_WS( '',' (',MiddleName,')' )