資料型別 ntext 和 varchar 在 equal to 運算子中不相容的問題

今天一位同事用Case When去比對欄位時發生錯誤,該欄位是ntext型態,以下記錄一下

以下是簡易的Code

Create Table TbNtext(Col1 int Identity Primary Key Clustered,Col2 NTEXT);
GO
Insert Into TbNtext(Col2) Values(N''),(N'這是測試');
GO
Select * From TbNtext Where Col2 = N'';
GO

執行查詢時會發生錯誤,如下圖

NTEXT無法拿來比較,故得先將Col2欄位轉換成Nvarchar(max)後再來比對就可以了,如下圖

以上簡易筆記一下

我是ROCK

rockchang@mails.fju.edu.tw