【发布时间】:2018-12-02 23:38:34
【问题描述】:
为什么SELECT 'foo' + NULL; 在 SQL Server 上返回 NULL?我希望它返回foo。
更新:SQL 查询是由 C# 的 Entity Framework Core 生成的,我希望转换 null 处理行为。
【问题讨论】:
-
你的期望是错误的。几乎所有使用
NULL的操作都会返回NULL,包括字符串连接。 -
NULL和空字符串 (’’) 是两个不同的东西。 -
从技术上讲,如果您想这样做,您可以预先将
CONCAT_NULL_YIELDS_NULL设置为关闭。但它是有原因的,所以......(这个功能也会在某个时候被删除,所以最好不要使用它。) -
或者使用CONCAT函数。它忽略了 NULL 的
-
@LukStorms 代码由 EF Core ORM 生成,来自 C#
标签: sql sql-server string tsql sql-null