• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    sqlserver空值轉換函數ISNULL與Coalesce的區別

    sqlserver對于空值、NULL的判定與轉換,最常用的就是ISNULL函數,那么,既然有了ISNULL函數,為什么還要引入Coalesce函數呢?它們之間有什么區別呢?

    方式/步調

    1. 1

      打開SQL Server Management Studio辦理東西,新建一張測試表 NullTestTbl

      CREATE TABLE dbo.NullTestTbl(

          Id varchar(40) NOT NULL,

          Col1 varchar(50) NULL,

          Col2 varchar(50) NULL,

          Col3 varchar(50) NULL,

          Col4 varchar(50) NULL,

      )

    2. 2

      往測試表 NullTestTbl 中插入多行測試數據

      INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), '第一行第二列', '第一行第三列', '第一行第四列', '第一行第五列');

      INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), NULL, '第二行第三列', '第二行第四列', '第二行第五列');

      INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), '', '第三行第三列', '第三行第四列', '第三行第五列');

      INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), '', '', '', '第三行第五列');

      INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), NULL, NULL, NULL, NULL);

    3. 3

      利用ISNULL判定值為NULL的數據,從執行成果看出,ISNULL對值為NULL的字段會轉換為指心猿意馬的值返回

    4. 4

      利用ISNULL判定值為空字符串的數據,從執行成果看出,ISNULL對空字符串值,并不會進行轉換,直接返回空字符串

    5. 5

      利用Coalesce判定值為NULL的數據,從直接成果看出,Coalesce對值為NULL的字段會轉換為指心猿意馬的值返回

    6. 6

      利用Coalesce判定值為空字符串的數據,從執行成果看出,Coalesce對空字符串值,并不會進行轉換,直接返回空字符串。

           網上有良多都說Coalesce判定值為空字符串,會返回后面指心猿意馬的值,其實網上說法是錯誤的,都沒顛末驗證

    7. 7

      ISNULL與Coalesce的區別

           1)兩個函數對于NULL、空字符串的判定都是一樣的結果

           2)ISNULL最多只有兩個參數;Coalesce可以多良多個參數,可是,必需有一個參數返回成果不為NULL

           3)Coalesce返回所有參數中第一個不是NULL的成果

    • 發表于 2018-12-31 00:00
    • 閱讀 ( 910 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆