【问题标题】:combine the null columns to get desired concat in query组合空列以在查询中获得所需的连接
【发布时间】:2021-06-30 13:07:18
【问题描述】:

如果我的桌子看起来像:

id name country
1 kasis Nepal
2 samika
3 Australia

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

Concatenated(Desired)
1,kasis,Nepal
2,samika
3,Australia
select id || coalesce(name,'') || coalesce(country,'') from Emptable;

给我:

Concatenated(Error)
1kasisNepal
2samika
3Australia

没有逗号分隔。 (在oracle、mysql中)

【问题讨论】:

  • coalesce(name || ',', '')
  • 您使用的是 MySQL 还是 Oracle?

标签: mysql sql coalesce


【解决方案1】:

在 MySQL 中使用

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

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


在 Oracle 中使用,例如,

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

查询假定namecountry 不为NULL。

【讨论】:

  • 甲骨文呢?
猜你喜欢
  • 2016-05-18
  • 2020-11-19
  • 2020-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
相关资源
最近更新 更多