Isnull()函數測試

來源:互聯網
上載者:User

 Use Test
Go
/*Isnull()函數測試 2009-11-22

ISNULL ( check_expression , replacement_value )
*/

1。 資料類型一樣,但長度不一樣

Declare @x nvarchar(5),
        @y nvarchar(50)

Set @y=N'123456'
Print Isnull(@x,@y)   --@y就會被截取,返回"12345"

Go

2.資料類型不一樣(nvarchar -> int)

Declare @x int,
        @y nvarchar(50)

Set @y=N'123456'
Print Isnull(@x,@y)+N'1'   --這裡先轉換成int資料類型,再加"1",所以返回"123457"

Go

3.資料類型不一樣(int -> nvarchar)

Declare @x nvarchar(50),
        @y int

Set @y=N'123456'
Print Isnull(@x,@y)+N'1'   --這裡先轉換成nvarchar資料類型,再加"1",所以返回"1234561"
Go

4.資料類型不一樣(nvarchar -> uniqueidentifier)

Declare @x uniqueidentifier,
        @y nvarchar(50)

Set @y=N'123456'
Print Isnull(@x,@y)   --收到錯誤的提示:"將字串轉換為 uniqueidentifier 時失敗"。
Go

5. 來個有意思的測試(nvarchar -- > Null)

Declare    @y nvarchar(50)

Set @y=N'123456'
Print Isnull(Null,@y)+N'1'   --說明當check_expression為Null,返回的是replacement_value的資料類型,所以返回@y的nvarchar類型:"1234561"

6. 來個有意思的測試(int -- > Null) --再驗證第5個例子

Declare    @y int

Set @y=N'123456'
Print Isnull(Null,@y)+N'1'   --說明當check_expression為Null,返回的是replacement_value的資料類型,所以返回@y的int類型:"123457"
Go

(完.)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.