sql - 连接时排除空条目
问题描述
我有专栏
Col1|Col2|Col3
Aaaa|Bbbb|Cccc
Null|Bbbb|Cccc
Aaaa|Bbbb|Null
我的结果应该看起来像
Aaaa,Bbbb,Cccc
Bbbb,Cccc
Aaaa,Bbbb
我用常见的“+”连接方式尝试了这个,比如
Select Col1 + ', ' + Col2 + ', ' + Col3
但是使用此语句,如果其中一列中有 Null,我确实会在结果集中得到 Null。我可以做类似的事情
ISNULL(Col1, ' ')
但这最终导致','标志乱七八糟
有谁可以帮我离开这里吗?
解决方案
该CONCAT()
功能解决了您的问题:
Select CONCAT(Col1, ', ', Col2, ', ', Col3)
它忽略了NULL
价值观。
最新版本的 SQL Server 支持CONCAT_WS()
:
CONCAT_WS(', ', col1, col2, col3)
这会产生略有不同的结果。例如,如果后两个值是NULL
,则第一个返回'A,,'
但第二个返回'A'
。我不确定你真正想要的是哪个。
推荐阅读
- meson-build - 介子构建:指定输出目录
- java - 是否可以从 schema.sql 访问应用程序属性?
- javascript - 从 API 响应中解析数据,调用函数直到收到参数
- java - 如何在不重新加载框架的情况下在 jTable 组合框中添加项目
- python - 如何使用views.py在django表单中设置作者字段的默认值
- java - 差异处的空指针异常。
(解决方案.java:16) - android - 在 Kotlin Android 的 API 响应模型中调用辅助构造函数
- testing - IntelliJ:“在测试文件夹中启用覆盖”复选框背后的基本原理
- wso2 - WSO2 EI/ESB 中的顺序后端调用
- javascript - 如何将swal模式中的标题调整到左上角