问题描述
如果我的桌子看起来像:
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;
查询假定 name
或 country
不为 NULL。