【发布时间】:2018-07-27 11:07:23
【问题描述】:
我在 where 子句中使用 CASE 表达式时遇到问题,据我所知语法是正确的,但出现错误。以下是我的代码:
Where
CASE
WHEN (@ItemFor='' and @ItemTo='')
THEN id like '%'
ELSE id between @ItemFor and @ItemTo
END
上面的代码在我看来是正确的,但我收到语法错误提示
关键字“like”附近的语法不正确。
编辑
我有4组参数,都需要去where子句,都是字符串值:
WHERE
CASE
WHEN (@ItemFor='' and @ItemTo='')
THEN id like '%'
ELSE id between @ItemFor and @ItemTo
END
AND
CASE
WHEN (@CodeFrom='' and @CodeTo='')
THEN Code like '%'
ELSE code between @CodeFrom and @CodeTo
END
【问题讨论】:
标签: sql sql-server tsql where-clause