c# - SQL Server : conversion failed when converting from a character string to uniqueidentifier

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

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

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

我遇到异常

Conversion failed when converting from a character string to uniqueidentifier

谁能帮我解决这个问题吗?

最佳答案

尝试以正确的格式将其转换为 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');

关于c# - SQL Server : conversion failed when converting from a character string to uniqueidentifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28626740/

相关文章:

c# - 当中间有抽象类时,将 Unity code-as-config 移动到 XML

sql - 递归查询在服务器上执行但不在本地执行

c# - 使用 SQL View 还是 SQL Query?

c# - 覆盖 NServiceBus 中的依赖项

c# - 连接字符串中的 %APPDATA% 未替换为实际文件夹?

c# - 没有装箱或类型参数转换

MySQL 选择父级,然后选择其子级,并按以下顺序排序

sql - 在 SQL 中结合 LIKE 和 IN

sql - 如何构造这个查询? (按 COUNT() 排序并加入用户表)

sql - 编写 SQL 查询来替换值并包含所有日期