分離爲數組參數一串數字我想創建一個具有以下參數的存儲過程:@WorkspaceID int
如何返回由逗號在SQL
我現在是這樣的:
DECLARE @WorkspaceRuleIds varchar(max)
SELECT @WorkspaceRuleIds = COALESCE(@WorkspaceRuleIds + ', ', '') +
CAST(RuleID AS varchar(5))
FROM Dgn_Workspace_Rules
WHERE WorkspaceID = @WorkspaceID;
SELECT ag.*
FROM Dgn_Rules ag
LEFT JOIN Dgn_Workspace_Rules wr ON ag.RuleID IN (@WorkspaceRuleIds)
WHERE wr.WorkspaceID = @WorkspaceID
如果@WorkspaceID
收到的25則ag.RuleID IN (80,82)
價值應該得到的參數...但我得到這個錯誤,而不是
消息245,級別16,狀態1,第3行
將nvarchar值'80,82'轉換爲數據類型int時轉換失敗。
我該如何解決這個問題?謝謝!
語法和錯誤看起來像SQL Server,但你標記'mysql'。這是什麼? – 2014-09-26 07:11:38
SQL Server,對不起! – 2014-09-26 07:13:19
將X聲明爲varchar,設置X ='1,2,3,a,list,with,commas'; X中有多少個整數? (答案:零)你有一個varchar參數,所以它如何神奇地變成一系列整數?忘記它看起來像什麼,想想定義。 – 2014-09-26 07:14:04