T-SQL: оператор CASE в WHERE?

У меня сейчас есть следующее предложение WHERE в моем запросе SQL:

WHERE c.Town LIKE '%' + @Town + '%'

Что я хочу do - сделать первый "%" необязательным - поэтому, если пользователь выбрал фильтрацию только по записям, которые начинаются с данного текста, WHERE будет

WHERE c.Town LIKE @Town + '%'

. Я предположил, что простейшим способом сделать это будут операторы CASE, но Я не испытываю радости, так как кажется, что синтаксис неверен. Могу я получить какие-нибудь указатели? Вот оператор CASE, который я пробовал:

WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%' ELSE '') + @Town + '%'
0
задан Chris 27 September 2011 в 09:32
поделиться