我有一個表,其中一個列有一個sql_variant資料型別。我試圖將該列修改為VarChar(800),但我得到了一個錯誤:
從資料型別sql_variant到varchar的隱式轉換是不允許的。使用CONVERT函式來運行這個查詢
我試著在Alter陳述句中使用Convert陳述句,但我得到一個不正確的語法錯誤。如果有人能告訴我如何解決這個問題,我將非常感激。謝謝你!
腳本:
ALTER TABLE dbo.tmpEmployee
ALTER COLUMN bigVal Varchar(800)
bigVal是sql_variant資料型別的列。
這是一個錯誤:
這是一個錯誤。
Msg 257, Level 16, State 3, Line 5
. 不允許從資料型別sql_variant到varchar的隱式轉換。使用CONVERT函式來運行這個查詢。
uj5u.com熱心網友回復:
恐怕這不是一個簡單的任務,如果列的順序不重要,只要添加一個新的列作為varchar(800)并嘗試從sql_varient插入資料到該列。 但是你必須注意在該列中的不同型別的資料使用正確的鑄造格式,例如,對于日期和二進制值
。uj5u.com熱心網友回復:
嘗試這個查詢
UPDATE dbo.tmpEmployee
SET bigVal = CONVERT(varchar(800),bigVal)
FROM tmpEmployee
ALTER TABLE dbo.tmpEmployee
ALTER COLUMN bigVal Varchar(800)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/314815.html
標籤:
