从字符串转换为uniqueidentifier错误

时间:2015-10-14 15:16:22

标签: sql sql-server database converter

我做错了什么。我跑的时候

insert into tblconfig_extensiongroupMembers (FKExtension,FKextensiongroup)
    values ('C7972F9-56SC-951S-CSRS-15VDAR4895W2','F15745S4-R512-45RD-84S0-5DSWW16A526W') 

从字符串转换为uniqueidentifier时,我得到以下错误转换失败?

2 个答案:

答案 0 :(得分:2)

除了其他人提到的长度问题外,该值应仅包含十六进制数字。

您的值包含无效字符,例如SRWV

答案 1 :(得分:1)

问题在于您的字符串格式,它应采用MSDN中指定的格式:

  

通过转换为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx形式的字符串常量,其中每个x是0-9或a-f范围内的十六进制数字。例如,6F9619FF-8B86-D011-B42D-00C04FC964FF是有效的uniqueidentifier值。

第一部分包含8个字符的工作样本:

CREATE TABLE #tmp   (id UNIQUEIDENTIFIER)

INSERT INTO #tmp
        ( id )
VALUES  ( '12345678-1234-1234-1234-123456789012')

SELECT * FROM #tmp

DROP TABLE #tmp

价值观比较:

C7972F9-56SC-951S-CSRS-15VDAR4895W2  -- (Bad format)
12345678-1234-1234-1234-123456789012 -- (Good format)