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

  • 相关阅读:
    shell笔记
    全引用与部分引用
    R语言 EFA(探索性因子分析)
    Markdown 基本使用
    Oracle截取字符串和查找字符串
    ggplot画基本图形类型
    ggplot画图笔记
    用R语言 画条形图(基于ggplot2包)
    Git基本操作
    R语言为数据框添加列名或行名
  • 原文地址:https://www.cnblogs.com/zijinguang/p/1306760.html
Copyright © 2011-2022 走看看