posts - 22,  comments - 37,  trackbacks - 2

在数据库的查询过程中,遇到以下问题:
当select * from tKeyword where typeId = case when @typeId < 0 then null else @typeId end order by orderNo desc
这句话是正确的,但是当@typeId < 0不出结果,而数据库中有满足条件typeId=null的数据。
后来进行了以下处理:
if @typeId < 0 then
    select * from tKeyword where typeId is null order by orderNo desc
else
    select * from tKeyword where typeId = @typeId order by orderNo desc
问题得到解决了。进一步简化问题如下:
select * from tKeyword where isnull(typeId,@typeId)=@typeId end order by orderNo desc
显示这是一种更为简化的处理方法。

在数据操作时,一定要注意字段的null的处理方法。
好了,以后有机会在写了。

posted on 2006-07-05 09:38 小朱 阅读(236) 评论(0)  编辑 收藏 网摘 所属分类: SQLServer数据库




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接: