我有一個搜索查詢,其中有4個參數。用戶可能會提供一個參數或多個參數的值。 4個參數是多個空參數查詢不會返回正確的結果
FirstName, LastName, ssn, DateofBirth
我使用
-
Select * from person where
(@FirstName is null or FirstName = @FirstName) Or ((@LastName is null or LastName = @LastName)
or
(@ssn is null or ssn = @ssn) Or ((@DateofBirth is null or DateofBirth = @DateofBirth)
在這種情況下,如果用戶提供名字= 「山姆」 和姓氏= 「保羅」。我得到所有的記錄。我除了滿足條件的行外。就像名字=「山姆」姓氏=「吉爾」,名字=「邁克」姓氏=「保羅」
我認爲你應該與每個參數,而不是OR。 – Karthikeyan
是多餘的左括號嗎? –