Sql server 关于SQL Server中的空/空数据库字段
我混淆了很多,关于,空的,空的和非空的数据库字段值。 我有一个选项卡,其中有几个字段包含空/空白数据,其中一些字段包含空数据,并且包含实际数据。 我搞不清楚Epmyt/Blank和Null数据之间的区别 请帮帮我 谢谢Sql server 关于SQL Server中的空/空数据库字段,sql-server,database,Sql Server,Database,我混淆了很多,关于,空的,空的和非空的数据库字段值。 我有一个选项卡,其中有几个字段包含空/空白数据,其中一些字段包含空数据,并且包含实际数据。 我搞不清楚Epmyt/Blank和Null数据之间的区别 请帮帮我 谢谢 Ravik空或空白通常指空字符串值,长度=0个字符。Null表示没有值,甚至不是空值。空或空通常指空字符串值,长度=0个字符。Null表示没有值,甚至不是空值。Null是一个数据库指示符,指定数据库中的值缺失或不确定。空字符串是长度为零的varchar字符串 选择值时,它们可能相
Ravik空或空白通常指空字符串值,长度=0个字符。Null表示没有值,甚至不是空值。空或空通常指空字符串值,长度=0个字符。Null表示没有值,甚至不是空值。Null是一个数据库指示符,指定数据库中的值缺失或不确定。空字符串是长度为零的varchar字符串 选择值时,它们可能相同,也可能不同。例如,SQLServerManagementStudio将空值导出为空值,而不是空字符串 空值遵循一些非常基本的比较规则,许多人认为这些规则违反直觉。任何比较操作(is null除外)都返回false。特别是,以下两个返回值为false:
where NULL = NULL
where NULL <> NULL
空白/空字符串只是长度为0的可变长度字符串的值,通常表示为。以下情况不会返回true:
where '' = ''
where val = val -- given that val is ''
一个复杂的问题是一些数据库将空值视为零长度字符串。我想到了甲骨文。但是,这不是符合ANSI标准的行为。NULL是一个数据库指示符,指定数据库中的值缺失或不确定。空字符串是长度为零的varchar字符串 选择值时,它们可能相同,也可能不同。例如,SQLServerManagementStudio将空值导出为空值,而不是空字符串 空值遵循一些非常基本的比较规则,许多人认为这些规则违反直觉。任何比较操作(is null除外)都返回false。特别是,以下两个返回值为false:
where NULL = NULL
where NULL <> NULL
空白/空字符串只是长度为0的可变长度字符串的值,通常表示为。以下情况不会返回true:
where '' = ''
where val = val -- given that val is ''
一个复杂的问题是一些数据库将空值视为零长度字符串。我想到了甲骨文。但是,这不是符合ANSI标准的行为。NULL与空值不同,如果使用NULL,则无法确定该值是否为空。这在您的数据库中具有真正可测量的影响。以下是一些例子: 空varchar字段的LEN为0。空字段的LEN仍然为空。。。你不知道这个领域有多大 两个空字段与它们自身的值相比较=为真。您不知道两个NULL字段是否相等,因此NULL=NULL将导致NULL 联合。。。对空字段的修改将导致空字段。联合体是空的。。。一个空字段的值将传递到下一个值
像这样的例子还有很多。NULL并不意味着空。NULL表示我不知道。NULL与空值不同,如果使用NULL,则无法确定该值是否为空。这在您的数据库中具有真正可测量的影响。以下是一些例子: 空varchar字段的LEN为0。空字段的LEN仍然为空。。。你不知道这个领域有多大 两个空字段与它们自身的值相比较=为真。您不知道两个NULL字段是否相等,因此NULL=NULL将导致NULL 联合。。。对空字段的修改将导致空字段。联合体是空的。。。一个空字段的值将传递到下一个值 像这样的例子还有很多。NULL并不意味着空。空表示我不知道