在数据库系统中,空值是(什么也没有)。\x0d\x0a解释:\x0d\x0a所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里是严格区分的,任何数跟NULL进行运算都是NULL,判断值是否等于NULL,不能简单用=,而要用IS关键字。\x0d\x0a空(NULL)\x0d\x0a值表示数值未知(在实际意义中,如果使用null,就是代表变量值是未知的,比如手机号码设为null,说明不知道手机号码是什么)。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,
这是因为每个空值均为未知。\x0d\x0a在写入数据的时候,空字符串也是一个确定的值,所以就算定义了NOTNULL也可以被写入。sql查询null的3种方式的区别是xx
字段
所存值和判断语法不同:
where XX ='NULL' ,XX字段存的值就是NULL这四个字符;
where XX is null ,XX字段什么也没存,这是数据库的判断语法;
where isnull(XX),XX字段什么也没存,这是界面开发语言的判断语法。
定义:QL NULL 值是指如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。NULL 值的处理方式与其他值不同。NULL 用作未知的或不适用的值的占位符。*** 作方法:使用 IS NULL *** 作符:SELECT LastName,FirstName,Address FROM Persons选取在 "Address" 列中带有 NULL 值的记录。
用Convert.IsDBNull就行了,示例:
while (dr.Read())
{
dr.GetValues(fieldValues)
for (int fieldCounter = 0fieldCounter <fieldCountfieldCounter++)
{
if (Convert.IsDBNull(fieldValues[fieldCounter]))
fieldValues[fieldCounter] = "NA"
}
grid.Rows.Add(fieldValues)
欢迎分享,转载请注明来源:内存溢出