首页 > 数据库 > SQL Server > 正文

.NET和SQL Server中的“空值”概念

2023-05-11 12:02:29
字体:
来源:转载
供稿:网友

很多人对数据库中的“空值”概念理解不透而造成在使用时也蒙头转向。在数据库中,空值不等于“空字符串”和“0”值,也不代表空字符。它是一个没有任何意义,目前不清楚的值,我们用“空值”来表达。实际上,在SQL Server数据库中真正的空值显示为<null>。

在.NET中通过编程新建的一个表中所有数据皆显示为<NULL>,手动添加并删除文字后会变成空白(即空字符串)。

(1)、真正的空值,也就是“没有输入的值”,可以出现在大多数类型的字段中(如果没有别的约束条件),SQL server中表示为null,显示为<NULL>,手工在SQL server企业管理器中输入的方法是按Ctrl+0。它在.NET中对应System.DBNull.Value。在T-SQLming令中,判断一个值是不是空值,要用“is null”而不是“= null”;处理空值有个ISNULL函数,它使用指定的值替换null。用ADO.NET从数据库得到的空值无法自动转化为空字符串或Nothing,须手动检测:如果得到System.DBNull.Value,则赋给数据对象Nothing或其它自定义的有意义的值。

2、空字符串(零长度字符串),只出现在字符串类型(如nvarchar)的字段中,SQL server中表示为'',显示为空白,手工在SQL server企业管理器中输入时清空一个单元格即可。它在.NET中对应System.String.Empty,也就是我们常用的""。在T-SQLming令中处理空字符串和处理一般的字符串没什么区别。用ADO.NET从数据库得到的空字符串也和一般的字符串没什么区别。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表