isNull(str), isEmpty(str)和 str=”” 的区别

1、isNull()

Null 值指出变量不包含有效数据。Null 与 Empty 不同,后者指出变量未经初始化。Null 与零长度字符串 ("") 也不同,零长度字符串往往指的是空串。

重点使用 IsNull 函数可以判断表达式是否包含 Null 值。在某些情况下想使表达式取值为 True,例如 If Var=Null 和 If Var<>Null,但它们通常总是为 False。这是因为任何包含 Null 的表达式本身就为 Null,所以表达式的结果为 False。

下面的示例利用 IsNull 函数决定变量是否包含 Null :

Dim MyVar, MyCheck
MyCheck = IsNull(MyVar) ' 返回 False
MyVar = Null ' 赋为 Null
MyCheck = IsNull(MyVar) ' 返回 True
MyVar = Empty ' 赋为 Empty
MyCheck = IsNull(MyVar) ' 返回 False

2、isEmpty()

如果变量未初始化或显式地设置为 Empty,则函数 IsEmpty 返回 True;否则函数返回 False。如果 expression 包含一个以上的变量,总返回 False。

下面的示例利用 IsEmpty 函数决定变量是否能被初始化:

Dim MyVar, MyCheck
MyCheck = IsEmpty(MyVar) ' 返回 True
MyVar = Null ' 赋为 Null
MyCheck = IsEmpty(MyVar) ' 返回 False
MyVar = Empty ' 赋为 Empty
MyCheck = IsEmpty(MyVar) ' 返回 True

3、零长度字符串 ("")

零长度字符串往往指的是空串。str="",将空字符串赋给str变量,已经赋值了,且赋的是字符。

补充:在数据库设计中可以规定某字段为null,这样如果不再给他赋值时,此记录即为null,但是在表格输出时,null记录将破坏表格的结构,即表格中的格线将消失,很多人在可能出现这种情况时,会在数据库中设默认值或在处理时给此记录赋一个空串。

今天在处理一个变量时把isEmpty用成了isNull,浪费了许多时间,还好及时更正。

PS:记得84给我解释isNull和空字符串时,很形象的说isNull,就好比”真空“。

One thought on “isNull(str), isEmpty(str)和 str=”” 的区别

发表评论