我试图在WHERE子句中使用CASE语句,但它不起作用。 任何帮助真的很感激,谢谢!SQL中的WHERE子句中的CASE语句
SELECT
...
FROM ...
WHERE
CASE
WHEN @LastName <> '' AND @CardNo <> '' AND @StoreNo <> '' THEN
((m.ApplicantLastName LIKE @LastName AND m.StoreNo = @StoreNo) OR
(m.CardNo LIKE @CardNo AND LTRIM(RTRIM(m.ApplicantLastName)) <> ''))
WHEN @LastName <> '' AND @CardNo <> '' THEN
(m.ApplicantLastName LIKE @LastName OR (m.CardNo LIKE @CardNo AND LTRIM(RTRIM(m.ApplicantLastName)) <> ''))
WHEN @LastName <> '' AND @StoreNo <> '' THEN
(m.ApplicantLastName LIKE @LastName AND m.StoreNo = @StoreNo)
WHEN @LastName <> '' THEN
m.ApplicantLastName LIKE @LastName
WHEN @CardNo <> '' THEN
(m.CardNo LIKE @CardNo AND LTRIM(RTRIM(m.ApplicantLastName)) <> '')
END