【发布时间】:2016-12-06 23:51:48
【问题描述】:
也许这无法完成(除了执行 SQL 字符串),我尝试了许多不同的方法,但基本上我想构建一个动态 where 子句,将条件的两侧作为变量。
我需要类似的东西(但可以):
WHERE 0 = 0
AND (
(CASE @dateCondition
WHEN 'DateCreated' THEN DateCreated
WHEN 'DueDate' THEN DateCreated
WHEN 'CompletionDate' THEN DateCreated
END) = @dateFrom)
或本质上
WHERE @dateCondition = @dateFrom
【问题讨论】:
-
我会根据@dateCondition 的值在IF-ELSE 语句中将where 子句的值设置在第三个变量中,然后我会构建动态sql。换句话说,分两步完成。
-
Where 1=1可以工作
标签: sql-server dynamic where clause