在SQL Server中使用ISNULL执行空值判断查询

 更新时间:2014年08月14日 09:22:15   投稿:junjie  
这篇文章主要介绍了在SQL Server中使用ISNULL执行空值判断查询,ISNULL的好处是可以直接写在SELECT查询语句中,需要的朋友可以参考下

有如下查询:

复制代码 代码如下:

select isnull(lastchanged,'') as lastchanged from vhhostlist where s_comment='test202'

本来,ISNULL函数只有一个参数,它表示的含义就是判断这个参数的值是否为NULL,是NULL则返回TRUE,否则返回FALSE;

但是,在SQLServer的查询语句中,isnull需要两个参数,它的含义是如果参数1为NULL,则以参数2为isnull函数的返回值;

即,上面查询的的含义是,查询vhhostlist表中s_comment='test202'那一行lastchanged字段的值,如果它为NULL,则返回一个空字符串;

记得以前不懂这个的时候,遇到这样一个情况:一张订单表,其中一个字段是status,订单提交上来时status为NULL。 在程序里要做如下判断,当它为NULL时,显示一个审核的超链接;当它不为空时,显示一个字符串:已审。当时的程序是这样写的:

复制代码 代码如下:

if rs("status")<>"" then
       response.write "<span style='color:red;'>已审</span>"
else
       response.write "<a href=check.asp?id=" & rs("id") & ">审核</a>"
end if

其实这样的判断是不慎密的,rs("status")<>""并不代表就rs("status")就等于已经审核;也并不表示rs("status")<>""以外的情况就是未审状态;

最合理的应该就是用isnull(status,'') as status把status查出来,如果rs("status")=""则表示未审,这是一定成立的!

相关文章

  • 用注解编写创建表的SQL语句

    用注解编写创建表的SQL语句

    这篇文章主要为大家详细介绍了如何用注解编写创建表的SQL语句,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • SQL Server代理服务无法启动的解决方法

    SQL Server代理服务无法启动的解决方法

    错误MSSQLSERVERSQLServerAgent could not be started (reason: SQLServerAgent 必须能够以 SysAdmin 身份连接到 SQLServer,但“(未知)”不是 SysAdmin 角色的成员)
    2013-02-02
  • 模糊查询的通用存储过程

    模糊查询的通用存储过程

    模糊查询的通用存储过程实现语句。
    2009-07-07
  • SQL Server的FileStream和FileTable深入剖析

    SQL Server的FileStream和FileTable深入剖析

    互联网时代数据是爆炸式增长,我们常常需要把结构化数据和非结构化数据存储在一起。本文将介绍几种解决方案
    2012-11-11
  • SQLSERVER中得到执行计划的两种方式

    SQLSERVER中得到执行计划的两种方式

    得到执行计划的方式有两种:一种是在指令的前面打开一些开关,让执行计划信息打在结果集里,这种方法比较适合在一个测试环境里对单个语句调优;另一种方法是使用SQL Trace里的事件跟踪来跟踪语句的执行计划,感兴趣的朋友可以了解下
    2013-01-01
  • SQL Server中数学函数的用法

    SQL Server中数学函数的用法

    这篇文章介绍了SQL Server中数学函数的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 隐藏在SQLServer 字段中的超诡异字符解决过程

    隐藏在SQLServer 字段中的超诡异字符解决过程

    这套系统做了大半年,这个导入导出还是问题不断,我负责的这块导入导出就是夹在网络版和单机版系统之间,只要任何一边对数据库做了改动这个导入导出就会失败。哎,烦心的事不止这些,最近又遇到了一个非常奇怪的问题。
    2009-10-10
  • sqlserver:查询锁住sql以及解锁方法

    sqlserver:查询锁住sql以及解锁方法

    这篇文章主要介绍了sqlserver:查询锁住sql以及解锁方法,具有一定参考价值,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • sql 触发器使用例子

    sql 触发器使用例子

    触发器里没有updated ,只有inserted 和deleted两个临时表。
    2009-07-07
  • SQLServer中汇总功能的使用GROUPING,ROLLUP和CUBE

    SQLServer中汇总功能的使用GROUPING,ROLLUP和CUBE

    查看SQL Server的帮助才发现,厉害啊,原来还有这么厉害的东西,不由的想起以前做水晶报表的时候,原来在SQL Server中就可以实现这样的功能.
    2010-07-07

最新评论