zoukankan      html  css  js  c++  java
  • 数据库中null和''具体的区别


       数据库中null和''具体的区别

       今天在开发数据库的时候碰到了一个判断,判断其中的一个参数是否为空

       -- =============================================
    -- Author:  zhwg
    -- Create date: 2008-9-20
    -- Description: 测试null 和 ''的区别
    -- =============================================
    Create PROCEDURE p_Test
     @argString varchar(2000)
    AS
    BEGIN
       Declare @strTest varchar(2000)
       Set @strTest = 'This is a test!'
       if @argString != '' And @argString != null
         Begin
            print @strTest + 'zhwg'
         End 

    END
    GO

    如果不加判断@argString != null,即使输入参数值是''也仍然会打印出来This is a test!
    而加入判断@argString != null,则不会输出打印。

    不知道原因是什么,希望高手讲解

    test_table中有字段test_char  varchar(20)
    执行
    update test_table
    set test_char=null
    之后
    select integer(test_char)
    from test_table
    可以查询出test_char=null
    但是
    update test_table
    set test_char=‘’
    之后
    select integer(test_char)
    from test_table
    就报sql error
    所以请问null和‘’有什么区别啊?

    --------------------------------------------------------------------------------
    NULL 是 NULL,'' 是 ''。
    就好比 C 语言里的 NULL 字符指针和 "" 字符串一样。

  • 相关阅读:
    .net core入门
    编码之Base64编码
    C++ 实现十大排序算法
    C++11 智能指针
    Object Pool 对象池的C++11使用(转)
    mac pro 1.5T内存是如何实现的
    Linux C/C++开发
    mac Chrome 快捷键
    C++11多线程
    Java项目压力测试(待补)
  • 原文地址:https://www.cnblogs.com/zijinguang/p/1306760.html
Copyright © 2011-2022 走看看