我堅持以下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