[英]Alter Column Datatype from Int to Ntext and vice-versa
我有一個SQL表:
CREATE TABLE [UserTable]
(
[ID] [int] NULL,
[Name] [nvarchar](50) NULL,
[City] [nvarchar](50) NULL
) ON [PRIMARY]
在此表中,ID列的數據類型為int
。 我想將ID列的數據類型更改為Ntext
。
為此,我正在使用以下Sql查詢:
ALTER TABLE UserTable
ALTER COLUMN ID NTEXT
此查詢給出以下錯誤信息:
消息206,級別16,狀態2,行1操作數類型沖突:int與ntext不兼容
當我將ID列的數據類型從Int更改為navarchar時,它可以正常工作。
在那之后我想改變ID(即現在的ID列的數據類型類型為nvarchar)通過更改查詢列的數據類型為ntext它成功地改變ID列的數據類型。
為什么不能在將Nvarchar轉換為Ntext之后通過INT轉換為Nvarchar來直接將Int更改為Ntext呢?
您正在嘗試執行從int到ntext的隱式轉換。 為什么,我不知道,但是我猜是因為這是2個步驟(int-> string,string-> LOB)。
另外,不要使用ntext。 它被棄用了。 使用應允許隱式轉換的nvarchar(max)。
最后,如果ID是主鍵,那么為什么要使用LOB類型? 你有一個主鍵...?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.