我在SQL Server 2005中有一個存儲過程,用於根據從UI傳遞的參數檢索值。搜索操作的存儲過程
這基本上是一個名字與JOIN
許多表的搜索操作。我的問題是,當用戶不提供中間名時,我的過程無法訪問該值。
P.FirstName = Coalesce(@FirstName,P.FirstName) AND
P.MiddleName = Coalesce(@MiddleName,P.MiddleName) AND
P.LastName = Coalesce(@LastName,P.LastName) AND
(
P.FirstName = Coalesce(@anyName,P.FirstName) OR
P.MiddleName = Coalesce(@anyName,P.MiddleName) OR
P.LastName = Coalesce(@anyName,P.LastName)
)
我無法刪除中間名,因爲我在上述所有列上都提供了過濾選項。
[T-SQL中的動態搜索條件](http://www.sommarskog.se/dyn-search.html) - 我猜Middlename是空的, = NULL'陷阱。 – 2012-02-20 11:47:01