NULL和空字符串有区别吗

Is there a difference between NULL and empty string

我们正在通过 SSIS 将数据加载到 CRM,而我们的数据库在字符串列中包含空值。我们需要确定如何处理这些,如果 CRM 中的空字符串和 null 没有区别,我们更愿意将 null 视为空字符串。

CRM 是否包含空值? CRM 中的 null 和空字符串之间有实际区别吗?

编辑: 好的,我倒过来了 - 当我们在 CRM 中存储空字符串时,结果返回 NULL - CRM 是否将空字符串存储为空值,或者没有 SSIS 连接器只是奇怪吗?

CRM 似乎将空字符串存储为 null

运行 一些测试通过 SOAP Web 服务创建记录,然后检查 SQL 这似乎证实了这一点。

哦,是的! null 和空字符串之间绝对有区别。 例如:您有一个名为 x 的变量。如果你用 JS 写, var x = ""; 这意味着您分配了一个空字符串值(长度为 0)。实际上这有点像,但感觉没什么 :) 另一方面,var y = null; 这意味着您没有为 y 分配一个值,这在声明时通过将 null 写入 y 来明确说明。如果你写 y.length; 它会抛出一个错误,表明没有值分配给 y 因此无法读取 y 的长度。