SQL查询时出现“将字符串转换为 uniqueidentifier 时失败”。 and c.CustomerID='@c.CustomerID'这里的@c.CustomerID应该替换成一个GUID 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知道LZ的@c.CustomerID是一个变量呢,还是字符串。从提示的错误看似乎是c.CustomerID是一个GUID,如果@c.CustomerID是一个变量的话,应该先将其转化为GUID --你的参数现在是这个样子的declare @p varchar(30)set @p='@c.CustomerID'select @p/*@c.CustomerID*/--应该是这个样子的declare @p1 varchar(36)set @p1=newid()select @p1/*AE9508EE-24D1-4AF2-9285-18373B*/ declare @CustomerID varchar(50)set @CustomerID='990CC7DF-FE11-40C0-8ECC-6546E2A28119'select convert(uniqueidentifier,@CustomerID) c.CustomerID是uniqueidentifier类型的... 但是你用单引号把它引起来,他就不表示字段而表示一个字符串了,固定显示为'@c.CustomerID'。 既然这样,为什么在and c.CustomerID='@c.CustomerID'这里用'@c.CustomerID'呢?如果是变量的话,不能加单引号吧。而且@c.CustomerID这种变量名也是不合法的,不能有. and c.CustomerID='@c.CustomerID'去掉单引号and [email protected]即可 威武,解决了GUID传值的问题,外部用字符串,SQL内部转换就可以了! 新手请大家帮忙 求Select 语句 删除 重复记录! 'MICROSOFT.JET.OLEDB.4.0' 报错。(DBF文件) 如何依据备份表更新一张表的指定列的值 數據庫恢復數據時的錯誤! sql server 2000 的安装 1500分帖子结贴,请pengdali(大力)接分!!! txt文件导入SQLSERVER? 关于修改SQLSERVER端口的疑问 怎样用SQL语句 按日期进行从高到低进行排序呢~~ 关于将MySQL一张表的数据导入到另一张表
从提示的错误看似乎是c.CustomerID是一个GUID,如果@c.CustomerID是一个变量的话,应该先将其转化为GUID
--你的参数现在是这个样子的
declare @p varchar(30)
set @p='@c.CustomerID'
select @p
/*
@c.CustomerID
*/--应该是这个样子的
declare @p1 varchar(36)
set @p1=newid()
select @p1
/*
AE9508EE-24D1-4AF2-9285-18373B
*/
set @CustomerID='990CC7DF-FE11-40C0-8ECC-6546E2A28119'
select convert(uniqueidentifier,@CustomerID)
如果是变量的话,不能加单引号吧。
而且@c.CustomerID这种变量名也是不合法的,不能有.
去掉单引号
and [email protected]
即可
威武,解决了GUID传值的问题,外部用字符串,SQL内部转换就可以了!