在程序开发过程中,程序员用到最多的估计就是数据库了,几乎在任何一个地方都会和数据库打交道,数据库的增加,删除,更新,查询,都必须用到sql语句或者是存储过程,归根结底还是试用sql数据库,但是在敲写相关sql语句时,我们经常会遇到一些空的字符串或者是字段,这就给我们对数据库造成一定的麻烦,系统经常会提示“某值null不能转换”“插入的值不能为空”等等诸如此类的提示,isnull函数会帮助你搞定这些小菜。
Isnull 函数主要作用是将为空的值替换为指定值,如果不为空返回检查类型的返回值,isnull的语法:
Isnull (check_expression , replacement_value)
参数check_expression ,是待检查是否为空的表达式,参数replacement_value是带替换的指定值,如果参数check_expression为空则参数replacement_value进行填充,如果check_expression不为空,则返回表达式相应的返回值类型,需要注意到是参数check_expression和参数replacement_value的类型需要保持一致,否则要进行相应的转换,下面通过实例说话,
例一:
select isnull(studentid,100) from student_info
解释:这个实例的意思就是查出student_info表中字段为studentid的值,如果字段studentid值为空就在字段studentid中添加100,或者你可以动态的向这个空字段添加值。
private int GetNewBillID() { string sql =”select isnull(max(FBillId),0) from Vs_ICChange”; int id = Convert.ToInt32(sh.QueryValue(sql)); if (id == 0) { return 1000; } else { return id + 1; } } |
这个私有方法就是查询表Vs_ICChange中FBillId字段,如果FBillId字段为空就换值为0,通过执行语句得到数值id,在对id数据进行判断,如果id=0,直接返回id=1000,如果id已经有数值的话,直接在原来的基础上加一,再将返回的id数值之间插入到相关FBillId字段即可,比如:
Insert into Vs_ICChange(FBillId) values(‘”+id+”’);
这样就可以在没有数值的字段让字段值实现人工自增,从而程序就不会报错。
例二:
use test1 insert into a(name,score) select name,isnull(score,100) from b |
解释:从表b中查出相关数据,然后插入到表a,如果表b中的score字段为空,则放入数值100,并插入到a表中。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
你为什么要使用亚马逊云数据库?
Amazon RDS减少或是免除了开发人员的管理职责,这是开发人员使用它来管理数据库的优势之一。
-
Java开发者编写SQL语句时常见的10种错误
Java开发者对于面向对象编程思维与命令行编程思维的协调程度,取决于他们如下几种能力的水平.
-
给开发人员的几点建议:如何理解你的DBA
开发人员与数据库管理员(DBA)在实际工作中会经常打交道,但并不是人人都能相处的很好,开发人员与DBA需要知道彼此要的是什么。在本文中,我们就将为您解读开发人员如何理解你的DBA。
-
有效的MySQL备份与恢复
如果您接手了一个MySQL生产系统,但不确定它是否运行了MySQL备份策略,这时需要做哪些保障措施呢?