如何根據傳遞值過濾條件中的列。Where條款中的條件 - SQL Server
例:
declare @number nvarchar(200)
set @number = '2ddafa3'
這裏@number可能是int或uniqueIdentifer
所以在where子句我如何能如下實現的東西。
select * from IntegrationIDTransactions
where case ISNUMERIC(@number)
When 1 Then [TransactioniD] = @number
else [TransactionDomainGuid] = @number
感謝
對不起仍然得到錯誤: 消息206,級別16,狀態2,行4 操作數類型衝突:唯一標識符是與INT 不相容的嘗試: DECLARE @number爲nvarchar(200) 組@number =' 5' SELECT * FROM IntegrationIDTransactions 其中@number =情況ISNUMERIC(@number) 當1然後[TRANSACTIONID] 別的[TransactionDomainGuid] 端 – Sreedhar 2009-08-20 06:41:48
右鍵,它需要在第一殼體分支的類型,並假定所有分支產生那種類型。編輯答案。 Remus Rusanu的答案會順便表現得更好。 – Andomar 2009-08-20 08:46:23
再次感謝Andomar。 – Sreedhar 2009-08-20 21:52:20