下面是我正在使用的简化的存储过程查询Full Text Search
:
SELECT
c.Id AS Id,
cd.Make AS Make,
cd.Model AS Model,
u.Id AS UserId,
FROM Car c
JOIN CarDetail cd ON c.Id = cd.CarId
JOIN CarImage ci ON c.Id = ci.CarId
JOIN User u ON c.UserId = u.Id
JOIN CONTAINSTABLE(CarDetail, *, @SearchTerms) AS fti ON cd.Id = fti.[KEY]
WHERE c.Status = 'Active'
我传入了一个参数@SearchTerms
,有时可能为 null 或为空。我想知道是否可以CONTAINSTABLE
仅当参数有值时才加入。我试过这个:
CASE
WHEN (@SearchTerms IS NOT NULL) OR (LEN(@SearchTerms)) > 0
THEN JOIN CONTAINSTABLE(CarDetail, *, @SearchTerms) AS fti ON cd.Id = fti.[KEY]
END
但没用。不知道这是否可行,还是我的语法错误?