将SQL_Variant列修改为VARCHAR



我有一个表,其中一列的数据类型为sql_variant。我正试图将列修改为VarChar(800),但遇到了一个错误:

不允许从数据类型sql_variant隐式转换为varchar。使用CONVERT函数运行此查询

我尝试在Alter语句中使用Convert语句,但遇到了不正确的语法错误。如果有人能阐明如何解决这个问题,我将不胜感激。非常感谢。

脚本:

ALTER TABLE dbo.tmpEmployee
ALTER COLUMN bigVal Varchar(800)

bigValsql_variant数据类型的列。

这就是错误:

Msg 257,级别16,状态3,第5行
不允许从数据类型sql_variant隐式转换为varchar。使用CONVERT函数运行此查询。

恐怕这不是一项容易的任务,如果列的顺序无关紧要,只需添加一个新列varchar(800(,并尝试将数据从sql_varient插入该列,但是,对于该列中的不同类型的数据,您必须小心使用右转换格式,例如日期和二进制值

尝试此查询

UPDATE dbo.tmpEmployee
SET bigVal = CONVERT(varchar(800),bigVal) 
FROM tmpEmployee
ALTER TABLE dbo.tmpEmployee
ALTER COLUMN bigVal Varchar(800)

相关内容

  • 没有找到相关文章

最新更新