【问题标题】:SQL Server : conversion failed when converting from a character string to uniqueidentifier [duplicate]SQL Server:从字符串转换为唯一标识符时转换失败[重复]
【发布时间】:2015-04-21 23:59:42
【问题描述】:

我正在尝试将表导入 SQL Server 并执行以下语句:

INSERT INTO [schemes] 
VALUES('3510C197C4043E419C8F01E0C62FA978', 1, 'AS2', null, 
       '2009-04-21 12:52:00.000', '2009-04-21 12:52:00.000');

我遇到了异常

从字符串转换为唯一标识符时转换失败

谁能帮我解决这个问题?

【问题讨论】:

  • 它不是 GUID。 GUID 有格式。
  • 发布“方案”结构

标签: c# sql sql-server sql-server-2008


【解决方案1】:

尝试以正确的格式将其转换为UNIQUEIDENTIFIER,例如:

DECLARE @uuid VARCHAR(50)
DECLARE @gid UNIQUEIDENTIFIER

SET @uuid = '3510C197C4043E419C8F01E0C62FA978'
SELECT @gid = CAST(
        SUBSTRING(@uuid, 1, 8) + '-' + SUBSTRING(@uuid, 9, 4) + '-' + SUBSTRING(@uuid, 13, 4) + '-' +
        SUBSTRING(@uuid, 17, 4) + '-' + SUBSTRING(@uuid, 21, 12)
        AS UNIQUEIDENTIFIER)

然后插入这个值

insert into [schemes] 
values(@gid, 1, 'AS2', null, '2009-04-21 12:52:00.000', '2009-04-21 12:52:00.000');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-15
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多