主题:请教关于 isblank()的使用
coffeenight
[专家分:230] 发布于 2010-02-03 22:29:00
向朋友们请教:
SELECT * from a where ISBLANK(zzll)
BROWSE for ISBLANK(zzll)
同样的意思,为什么只有browse语句能返回正确的结果?
特上传测试数据表
最后更新于:2010-04-14 15:38:00
回复列表 (共10个回复)
沙发
coffeenight [专家分:230] 发布于 2010-02-05 10:12:00
大家都没遇到过这个问题吗? 没有人回答 :(
3 楼
DannyFox [专家分:420] 发布于 2010-04-14 12:37:00
我试了一下,好像不是你所说的那样么
4 楼
coffeenight [专家分:230] 发布于 2010-04-14 15:10:00
BROWSE for ISBLANK(zzll) 可以返回正确的纪录
select 语句返回的纪录数为0
5 楼
coffeenight [专家分:230] 发布于 2010-04-14 15:14:00
您要测试可以先 blank fields 字段1 all
然后 sele * from a where isblank(字段1)
您会发现返回的纪录数为0.按理说这个时候应该返回全部纪录才对
6 楼
deadfoxer [专家分:300] 发布于 2010-04-14 15:26:00
我也试了,不是您说的那样,两个语句的结果是一致的。
7 楼
coffeenight [专家分:230] 发布于 2010-04-14 15:33:00
呃????
请问朋友们用的是哪个版本的VF?
我试了6.0 7.0 9.0 结果都是一样的啊。。。
我上传了我这里的数据表,请朋友们帮我看看到底是怎么回事。谢谢
8 楼
hw2007name [专家分:4790] 发布于 2010-04-14 15:59:00
问题出在这里:ISBLANK(字段)
字段如果是字符型,就没问题,如果是数值型,最好用EMPTY(字段)
因为ISBLANK()在数值型字段上,只有当数值字段为NULL,ISBLANK才返回.T.,如果字段为0,ISBLANK都返回.F.。所以要判断字段是否为空,非此“NULL”,我认为还是用EMPTY()好点。
9 楼
deadfoxer [专家分:300] 发布于 2010-04-14 15:59:00
看来hw2007name是对的。但即便是hw2007name所说,也不存在楼主所说的问题,即两种语句的执行结果是一致的。
学用的是VFP9
10 楼
coffeenight [专家分:230] 发布于 2010-04-14 16:09:00
多谢,果然如此!
我来回复