T-SQL:CASE语句在何处?

T-SQL:CASE语句在何处?,sql,tsql,case,where,Sql,Tsql,Case,Where,我的SQL查询中当前有以下WHERE子句: WHERE c.Town LIKE '%' + @Town + '%' 我要做的是将第一个“%”设置为可选的—因此,如果用户选择仅按以给定文本开头的记录进行筛选,则 WHERE c.Town LIKE @Town + '%' 我假设最简单的方法是CASE语句,但我不高兴,因为语法似乎不正确。能给我一些指点吗?以下是我正在尝试的案例陈述: WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%'

我的SQL查询中当前有以下WHERE子句:

WHERE c.Town LIKE '%' + @Town + '%'
我要做的是将第一个“%”设置为可选的—因此,如果用户选择仅按以给定文本开头的记录进行筛选,则

WHERE c.Town LIKE @Town + '%'
我假设最简单的方法是CASE语句,但我不高兴,因为语法似乎不正确。能给我一些指点吗?以下是我正在尝试的案例陈述:

WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%' ELSE '') + @Town + '%'
你错过了结尾:

WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%' ELSE '' END) + @Town + '%'
你错过了结尾:

WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%' ELSE '' END) + @Town + '%'

案例
必须以
结尾
结尾。试一试

WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%' ELSE '' END) + @Town + '%'

案例
必须以
结尾
结尾。试一试

WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%' ELSE '' END) + @Town + '%'

这个案子应该结束了

我认为下面的陈述可以帮助你

WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%' ELSE '' END) + @Town + '%

这个案子应该结束了

我认为下面的陈述可以帮助你

WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%' ELSE '' END) + @Town + '%