2017-08-16 69 views
0

我正在嘗試使用like運算符來參數化SQL查詢,但它不起作用。搜索標準和搜索文本都將通過變量。這裏我在做什麼如何使用Sql Server中的like運算符來查詢參數化

declare @Query nvarchar(500), @SearchBy nvarchar(50) = 'PtName', @SearchText nvarchar(50) = 'Sh' 
set @Query = 'select Id, PtName, Y, M, D, Sex, PtCode, ReceiptDate, ReferBy, RefDrCd, PtTitle, NetAmount, IncentiveAmount, PaidAmount, DueAmount, Investigation, LabCode, LabName, DiscAmount, PNo FROM DiagMain where '[email protected]+' like '[email protected]+' %' 
    exec(@Query) 

請幫忙。

+0

它會幫助我們,如果你給它的錯誤消息給予。如果你首先打印*你通過字符串連接組裝的任何SQL,看看它是否合理,它會對你有所幫助。 –

回答

3
DECLARE @Query NVARCHAR(500), @SearchBy NVARCHAR(50) = 'PtName', @SearchText NVARCHAR(50) = 'Sh' 
SET @Query = 'select Id, PtName, Y, M, D, Sex, PtCode, ReceiptDate, ReferBy, RefDrCd, PtTitle, NetAmount, IncentiveAmount, PaidAmount, DueAmount, Investigation, LabCode, LabName, DiscAmount, PNo FROM DiagMain where '[email protected]+' like '''[email protected]+'%''' 

PRINT @Query 
EXEC(@Query) 
+0

@shaiwal Tripathi IN動態SQL查詢字符串變量關閉應該是'''變量名'''像這樣並打印String_SQL來檢查您執行的查詢是否正確。它會幫你解決問題 –

+0

它就像一個魅力。謝謝 –

+0

如果它的工作可以投票並接受答案 –

相關問題