gpt4 book ai didi

sql - (NOT) NVARCHAR 列为 NULL

转载 作者:行者123 更新时间:2023-12-03 05:02:22 30 4
gpt4 key购买 nike

在列上允许 NULL 值通常是为了允许表示不存在的值。使用 NVARCHAR 时,可能会出现空字符串,而无需将列设置为 NULL。在大多数情况下,我看不到带有空字符串的 NVARCHAR 与此类列的 NULL 值之间的语义差异。

将列设置为 NOT NULL 使我不必处理代码中 NULL 值的可能性,而且最好不必使用“的不同表示形式”无值”(NULL 或空字符串)。

将我的 NVARCHAR 列设置为 NOT NULL 是否会遇到任何其他问题。表现?存储大小?关于客户端代码中值的使用,我忽略了什么吗?

最佳答案

NULL 表示列中的值缺失/不适用。空白字符串是不同的,因为它是实际值。从技术上讲,NULL 没有数据类型,在本例中,空字符串是 nvarchar。

我看不出使用默认值而不是 NULL 值有任何问题。

事实上,这可能是有益的,因为您不必担心在任何查询中满足 NULL

例如

Select Sum(TotalPrice) as 'TotalPrice' From myTable Where CountOfItems > 10

容易得多

Select Sum(IsNull(TotalPrice,0)) as 'TotalPrice' From myTable Where IsNull(CountOfItems,0) > 10

您应该在 DDL 中使用默认约束,以确保数据中不会出现恶意 NULL

关于sql - (NOT) NVARCHAR 列为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3012885/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com