嗨,我有一個存儲過程,它將有一個動態子句,這是我的存儲過程的樣子;在存儲過程中編寫動態where子句
SELECT Comment.AddDate,Event.StartTime,Users.Name
FROM Comment
JOIN Users on Users.USERS_ID = Comment.UserID
JOIN Event ON Users.USERS_ID = Event.UserID
如果我傳遞一個變量@Name,存儲過程應該看起來像這樣;
SELECT Comment.AddDate,Event.StartTime,Users.Name
FROM Comment
JOIN Users on Users.USERS_ID = Comment.UserID
JOIN Event ON Users.USERS_ID = Event.UserID
WHERE Name = @Name
但是有這樣的情況,其中我通過在@Name將是空的,這意味着我想要的一切,返回,而不是基於一個特定的名稱。
在某些情況下,我也會通過一個eventid,我該如何去做這件事?
試過這種,它沒有工作,問題有時一個@Name將爲空,這意味着一切都應該返回。 – pmillio
這沒有意義。 COALESCE基本上說,如果@Name是NULL,則使用導致Name = Name的當前Name值,該值始終爲true。 – sellmeadog
您可以按照其他用戶的建議嘗試'IS NULL OR'選項;我只是喜歡COALESCE – sellmeadog