asp isnull() 为空和=""的区别

请教一个问题:isnull(rs("id"))isempty(rs("id"))rs("id")=""有什么区别??可否详细说明一下?谢谢!... 请教一个问题:
isnull(rs("id"))
isempty(rs("id"))
rs("id")=""
有什么区别??
可否详细说明一下?谢谢!
展开
 我来答
百度网友66a8d48e5
2008-12-11 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3891万
展开全部
有一点区别的!

在数据库中存在这样的数据:
取出的内容什么也没有,在数据库中没有填写任何东西,这时取出的值当然是空值。有一个情况是数据库中的值本身就是空值null,也就是说VB,C#和SQL中都存一种数据形式是null的。严格的区别这在这儿。
isnull是VB中的一种判断,判断取出的值是否是null,当然在SQL中也有这种形式的谓词,is null,这个谓词可以直接用在SQL语句中。如:
select * from 表名 where 列名 is null
表示查询特定列为null的记录。这时如果在数据库中该列定义为允许空,而没有填写任何东西的则不会出现。
说白了,在VB中isnull做为一个函数来判断SQL中是否传递了null型的值。VB中也存在这种类型的!

isEmpty则是不同的,它的作用是判断字符串是否为空!当然同时也会判断VB中null值的类型,但需要说明的一点是Null值还要涉及一个问题,它是SQL中的类型还是VB另的类型,虽说名称一样,但实际是不同的。
如果在VB中使用了这样的一句话:
dimm str as string
而还没有对str进行赋值时,存是不存在的!此时在VB中str值的类型就是空值,可以用isnull和isEmpty进行测试。

这说明了它与=""的不同之处,=""则表示为“空值”,它的意义在于变量有值,值是存在的,只不过是一个空字符串,也是对字符串进行的一种测试,但是如果 我只定义了某一个变量,此时就对其进行=""是不合适的。如:
dimm str as string
str = ""
这样会出现错误。但使用isEmpty则不会出错。

所以说三者的区别就是:
isnull是一种类型测试,测试是否为空值(null)类型。
isEmpty是一种值测试,测试是否是空值。但这个不同语言中采用的方法不同。
=""是串测试,测试值是否为空值。

说一个isEmpty吧,在有些语言中isEmpty是一种空值测试,它可以测试以下内容:

dim str as string
isEmpty(str)=True

str = ""
isEmpty(str)=True

str = null
isEmpty(str)=True

dim str as integer
str = 0
isEmpty(str) = True

也就是部分语言中把数据中的0,字符中的空串,NULL值都作为空值的测试范畴。

但在C#等语言中的要求比较严格,VB中要求也不是很严格的。这里只要了解一个特殊的类型null类型,它的类当然也是null。同时有些语言上还有一种未定义型:
undefined类型,如在C#中:
string str ;
则string只有这一个的定义,所以它的值还没有真正被定义,此时它就是undefined类型的。这种类型常存在于C族语言和类C族如ECMAScript族(javascript等)及Java中!

先了解一下数据的类型对你有帮助的!但各语言有不同的约定,这一点要注意一下!
leetao7696
2008-12-11 · 超过82用户采纳过TA的回答
知道小有建树答主
回答量:212
采纳率:100%
帮助的人:139万
展开全部
这个问题好.
可以分别定义一个 数值型的 ,字符型的 字段.
用程序或者 直接在数据表中加入数据.

然后 再会 前面的这几个函数 逐个测试 ,然后观察可能的结果.

只有这样比较了,有了理论与实际的结果. 便会得出真理.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式