SQLserver nText和varchar 不兼容

數據類型nText和varchar在運算符equals不兼容的問題解決方案

 1.直接改數據庫字段類型,這種方式治標不治本,不推薦使用!因爲既然使用了nText和Text類型,說明該字段的數據長度比較大,不好預估,當然SQLserver2005以上 的nvarchar(max) 可以存放2G的內容,足夠用來替換nText類型了。

 2.使用T-SQL函數 cast 或者 convert 轉換nText字段的數據類型:

 (1)更新語句:

    cast函數: update tb_test set cast([A] as nvarchar(max))='xxx'

    convert函數:update tb_test set convert(nvarchar(max),[A])='xxx'

 (2)插入語句:

       cast函數:     insert into tb_test([A]) where cast(’xxx’ as nvarchar(max)) 

    convert函數:insert into tb_test([A]) where convert(nvarchar(max),’xxx’)

 (3)查詢語句:

       cast函數:     select * from tb_test where cast([A] as nvarchar(max))=’xxx’

       convert函數:select * from tb_test where convert(nvarchar(255),test)=’xxx’
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章