我坚持以下SQL Server上:转换失败
DECLARE @sql AS NVARCHAR(500),@db as varchar(50),@value AS CHAR(129);
SET @db = 'SSCT1';
SET @value = '1806-11-801-1000';
SET @sql = 'SELECT ACTINDX FROM ' + quotename(@db)
+ '.[dbo].[GL00105] WHERE ACTNUMST = ' + @value;
EXEC (@sql);
当我在SQL Server中运行此我得到:转换为varchar值“时 转换失败1806- 11-801-1000
我检查了场我使用的where子句反对,它在声明的类型是否匹配(CHAR(129),所以我不知道它是试图转换。
我试图建立一个SQL语句,将接受db na我作为一个变量,除了价值。有什么想法吗?
感谢
完美!我想它只是需要额外的引号并结束? – apd23 2012-08-10 19:33:00
@ apd23是的,如果它是一个字符串,它需要被''分隔''。 – 2012-08-10 19:33:20