mssql - 将不同的数据类型数据从一列复制到同一个表中的另一列

时间:2017-05-15 07:18:42

标签: sql sql-server

我尝试使用以下代码将数据从一列复制到同一个表中的另一列。

UPDATE [dbo].[name] SET [name_HId] = [name_Id]
运行此查询时

显示错误

Operand type clash: int is incompatible with hierarchyid

这里name_HId是hierarchyid数据类型,name_Id是int

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

将int值转换为varchar:

UPDATE [dbo].[name] 
SET [name_HId] = Cast([name_Id] as varchar(max))

答案 1 :(得分:-1)

添加斜线,然后转换为hierarchyid

select cast('/' +cast(5 as varchar)+ '/' as hierarchyid)

当您将hierarchyid转换为字符串时,它看起来像' / 5 /'或' / 5/8 /'