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 字符指针和 "" 字符串一样。

  • 相关阅读:
    缓存
    json集合取值
    四个div块点击某个突出显示
    table获取某一列的td
    鼠标悬浮tr追加背景颜色
    jquery弹出层
    面试题
    表单校验及正则表达式
    jquery操作DOM
    jquery的事件与动画
  • 原文地址:https://www.cnblogs.com/zijinguang/p/1306760.html
Copyright © 2011-2022 走看看