Sql 将varchar id插入uniqueidentifier
我正在尝试将数据从一个表插入到另一个表。源表包含当前为文本字段的GUID。我想将其插入到一个Uniqueidentifier字段中。这是查询和错误Sql 将varchar id插入uniqueidentifier,sql,sql-server-2008,insert,guid,uniqueidentifier,Sql,Sql Server 2008,Insert,Guid,Uniqueidentifier,我正在尝试将数据从一个表插入到另一个表。源表包含当前为文本字段的GUID。我想将其插入到一个Uniqueidentifier字段中。这是查询和错误 insert into Tag ( BusinessId, AdImage, AdSize, DayCycleId, CreatedOn, IsActive, Name, CreatedBy ) select cast(ID as uniqueidentifier),
insert into Tag
(
BusinessId,
AdImage,
AdSize,
DayCycleId,
CreatedOn,
IsActive,
Name,
CreatedBy
)
select cast(ID as uniqueidentifier),
[IMAGE],
'1',
cast('71479D27-D7A2-4439-99CB-0B536DCEFB45' as uniqueidentifier),
GETDATE(),
1,
'NA',
cast('49493D4F-A0B0-43A5-8B32-45572E4D7E43' as uniqueidentifier)
from IMPORT
错误:
Msg 8169,16级,状态2,第1行
从字符串转换为uniqueidentifier时,转换失败
将属性ID的类型更改为
nvarchar(36)
nvarchar(32)或<36不工作SQL Server?哪个版本?
IMPORT.ID
的确切格式是什么?SQL Server 2008。IMPORT.ID是nvarchar(32)。您知道GUID需要36个字符,而不仅仅是32个字符,因为有破折号吗?我认为您的guid被截断了,因此无法转换回有效的guid。