主题:  请教:数据库里空白值的判别问题

星星之火

职务:普通成员
等级:1
金币:0.0
发贴:36
#12005/6/25 10:36:48
在表里有个status的字段,我想通过判别它的值执行不同的统计,为空是执行a=a+1,

为b时执行b=b+1........

我使用的是case语句:

select case rs("status"
case "" a=a+1
case b b=b+1
......
end select

下面的都可以正常的执行,就是为空时不执行,我把“”改为null也不行。

那位高手知道应该怎么表达?



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#22005/6/25 11:49:00
select case rs("status"
case b b=b+1
......
case else a=a+1
end select



星星之火

职务:普通成员
等级:1
金币:0.0
发贴:36
#32005/6/25 12:05:12
晕!!!我现在用的就是这个,我想问的是上面的直接表达的话,应该怎样表达?

用case else的话,如果我有很多种情况,并且只一两种做超作的话就麻烦了!



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#42005/6/25 15:11:55
你先对那个值作非空判断啊
str=trim(rs("status")
if (str is null) or str="" then
a=a+1
else
select case str
case b:b=b+1
......
end select
end if



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#52005/6/26 10:28:40
其实,我更愿意在SQL语句上做手法,使用ISNULL()方法,比如
select userName,ISNULL(userAge,999) from myuser
当年龄为空时,返回值为999,这样不是更好判断吗?