Sql 如何使用空值连接列?
你好,请帮帮我。如何使用空值连接3列?Sql 如何使用空值连接列?,sql,sql-server,database,join,Sql,Sql Server,Database,Join,你好,请帮帮我。如何使用空值连接3列? SELECT [item],[Prox],[z], [item]+[Prox]+[z] as result FROM [FIELD$]; 结果。 SELECT [item],[Prox],[z], [item]+[Prox]+[z] as result FROM [FIELD$]; 试试这个: SELECT [item],[Prox],[z], COALESCE([item],'')+COALESCE([Prox],'')+COALESCE([z],'
SELECT [item],[Prox],[z], [item]+[Prox]+[z] as result FROM [FIELD$];
结果。
SELECT [item],[Prox],[z], [item]+[Prox]+[z] as result FROM [FIELD$];
试试这个:
SELECT [item],[Prox],[z], COALESCE([item],'')+COALESCE([Prox],'')+COALESCE([z],'') as result
FROM [FIELD$];
说明:
COALESCE
按顺序计算参数,并返回最初未计算为NULL的第一个表达式的当前值
i、 例如,如果[item]
为NULL
,则合并([item],“”)
将返回一个空字符串
其他备选方案:
您可以使用以下命令,而不是合并(ColName.)
:
SQL Server的ISNULL(ColName,”)
IFNULL(ColName,”)
用于MySQL
NVL(ColName,”)
用于Oracle
SELECT [item],[Prox],[z], COALESCE([item],'')+COALESCE([Prox],'')+COALESCE([z],'') as result
FROM [FIELD$];
说明:
COALESCE
按顺序计算参数,并返回最初未计算为NULL的第一个表达式的当前值
i、 例如,如果[item]
为NULL
,则合并([item],“”)
将返回一个空字符串
其他备选方案:
您可以使用以下命令,而不是合并(ColName.)
:
SQL Server的ISNULL(ColName,”)
IFNULL(ColName,”)
用于MySQL
NVL(ColName,”)
用于Oracle
由于将多个字符串与至少一个空值串联会导致
null
,您可以使用coalesce
来解决此问题:
SELECT
[item],
[Prox],
[z],
coalesce([item], '') + coalesce([Prox], '') + coalesce([z], '') as result
FROM
[FIELD$];
coalesce
是ANSI标准,几乎在所有合理的数据库中都可用 由于将多个字符串与至少一个空值串联会导致null
您可以使用coalesce
来解决此问题:
SELECT
[item],
[Prox],
[z],
coalesce([item], '') + coalesce([Prox], '') + coalesce([z], '') as result
FROM
[FIELD$];
coalesce
是ANSI标准,几乎在所有合理的数据库中都可用 在SQL Server 2012中,您可以使用CONCAT函数:
SELECT [item],[Prox],[z], concat([item],[Prox],[z]) as result FROM [FIELD$];
在SQL Server 2012中,您可以使用CONCAT函数:
SELECT [item],[Prox],[z], concat([item],[Prox],[z]) as result FROM [FIELD$];
使用
COALESCE(列“”)
函数。您使用的是哪种数据库管理系统?我们猜猜看好吗?SQL Server?使用COALESCE(column')
函数。您使用的是哪种数据库管理系统?我们猜猜看?SQL Server?