我在數據庫中使用ntext
類型轉換所有表列時出現問題。我爲了改變我的專欄寫了這個查詢,但有一個語法錯誤:在SQL Server中將ntext列類型更改爲varchar(n)
ALTER TABLE mytable ALTER COLUMN mycolumn
VARCHAR(SELECT MAX(DATALENGTH(mycolumn)) FROM mytable);
即使SELECT MAX(DATALENGTH(mycolumn)) FROM mytable
將返回正確的號碼,不能執行查詢。
的語法錯誤是:
Incorrect syntax near the keyword 'select'.(which is inside the
varchar
)
我怎樣才能解決這個問題?
'ntext' to'varchar'可能會導致數據丟失,您是否需要'nvarchar'? –
嗨馬丁,是的我試圖從'ntext'轉換成'varchar(max_of_length_of_column)'我表中的所有列。數據丟失如何發生在我的情況? –
因爲'ntext'是雙字節,'varchar'是(在大多數歸類下)單字節,所以不是所有的字符都可以表示。 –