zoukankan      html  css  js  c++  java
  • sqlisnull方法的使用

    在程序开发过程中,程序员用到最多的估计就是数据库了,几乎在任何一个地方都会和数据库打交道,数据库的增加,删除,更新,查询,都必须用到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_ICChangeFBillId字段,如果FBillId字段为空就换值为0,通过执行语句得到数值id,在对id数据进行判断,如果id=0,直接返回id=1000,如果id已经有数值的话,直接在原来的基础上加一,再将返回的id数值之间插入到相关FBillId字段即可,比如:

    Insert into Vs_ICChangeFBillId values(‘”+id+”’);

    这样就可以在没有数值的字段让字段值实现人工自增,从而程序就不会报错。

    例二:

    use test1

      insert into a(name,score)

      select name,isnull(score,100) from b

    解释:从表b中查出相关数据,然后插入到表a,如果表b中的score字段为空,则放入数值100,并插入到a表中。

    作者:神舟龙
        
     

    新建的wp開發者群:42182428 

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    2019黑龙江省大学生程序设计竞赛 赛后总结
    HZNU Training 4 for Zhejiang Provincial Collegiate Programming Contest 2019
    浙江大学第十九届图森未来杯大学生程序设计竞赛
    HZNU Training 2 for Zhejiang Provincial Collegiate Programming Contest 2019
    whu-contest-2019(online)
    HZNU Training 1 for Zhejiang Provincial Collegiate Programming Contest
    华为实习日记——第十九天
    华为实习日记——第十八天
    华为实习日记——第十七天
    华为实习日记——第十六天
  • 原文地址:https://www.cnblogs.com/shenzhoulong/p/1898368.html
Copyright © 2011-2022 走看看