我尝试使用以下代码将数据从一列复制到同一个表中的另一列。
UPDATE [dbo].[name] SET [name_HId] = [name_Id]
运行此查询时显示错误
Operand type clash: int is incompatible with hierarchyid
这里name_HId是hierarchyid
数据类型,name_Id是int
。
如何解决这个问题?
答案 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 /'