CONCAT返回null

时间:2019-05-16 17:55:32

标签: mysql null string-function

我试图将三列作为字符串获取,但是由于某种原因,我只能获取NULL。

这是代码:

SELECT CONCAT(name, ' ', city, ' ', country) FROM places   

表位置包含三列名称,城市和国家,并且不为空,但是在某些列中可以包含NULL。

结果:

NULL
NULL
NULL,
etc

我尝试了这篇帖子MySQL CONCAT returns NULL if any field contain NULL的答案,但对我来说不起作用。

2 个答案:

答案 0 :(得分:3)

您可以尝试使用CONCAT_WS()

SELECT CONCAT_WS(' ', name, city, country) FROM places 

答案 1 :(得分:1)

您可能想使用类似COALESCE(name, '')的东西将空字符串转换为空字符串。由于null表示未知,因此mysql不会假定它表示空字符串。未知物与任何事物串联仍然是未知的。您必须明确告诉它以将其视为空字符串,这就是合并的目的。