2011-01-05 78 views
1

可以在SQL Server中將ntext轉換爲varchar嗎?在SQL Server 2005中將ntext轉換爲varchar

這是語法:ALTER TABLE TBL1 ALTER COLUMN email varchar NULL。

這是錯誤消息: 無法更改列'email',因爲它是'ntext'。

在此先感謝。

+1

你不希望將列轉換爲裸'varchar'無法得到同樣的錯誤信息 - 沒有長度的參數,它默認爲'VARCHAR (1)' - 可能是現存最無意義的數據類型。 – 2011-01-05 10:30:21

+1

ALTER TABLE TBL1 ALTER COLUMN email nvarchar(max)'是否工作? (對我來說SQL Server 2008) – 2011-01-05 10:34:33

+0

@Martin它工作正常,雖然在Sql Server 2008中測試過,但我認爲它也可以在Sql Server 2005中使用。 – 2011-01-05 10:43:04

回答

1

絕對是在SQL Server 2005上 - 不是2000?

我測試了以下和你

CREATE TABLE TBL1 
(
email NTEXT NOT NULL 
) 
INSERT INTO TBL1 VALUES (N'ghfhfhgtf') 


ALTER TABLE TBL1 ALTER COLUMN email varchar NULL 
/*Error: String or binary data would be truncated.*/ 

ALTER TABLE TBL1 ALTER COLUMN email nvarchar (max) 
/*Works*/