组合空列以在查询中获得所需的 concat

问题描述

如果我的桌子看起来像:

id 名称 国家
1 kasis 尼泊尔
2 samika
3 澳大利亚

我怎样才能把它结合起来得到类似的东西:

串联(期望)
1,kasis,Nepal
2,samika
3、澳大利亚
select id || coalesce(name,'') || coalesce(country,'') from Emptable;

给我:

连接(错误
1kasisNepal
2samika
3澳大利亚

没有逗号分隔。 (在oracle,MysqL)

解决方法

在 MySQL 中使用

SELECT CONCAT_WS(',',id,name,country)
FROM Emptable;

此函数跳过 NULL 而不是 CONCAT()。


在 Oracle 中使用,例如,

SELECT id || ',' || TRIM(BOTH ',' FROM name || ',' || country)
FROM Emptable;

查询假定 namecountry 不为 NULL。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...