我有一个多值参数。
我想设置它以便
默认为数据集中的所有值。 (可以很容易地实现)。 但同时
我希望用户能够忽略默认值和 TYPE 他的值。
现在我可以对其进行设置,以便用户可以检查多个值。如果我希望用户能够键入,因为参数已经默认为长列表,他必须删除所有内容才能输入。
有什么办法可以实现吗?任何帮助都是适当的
答案 0 :(得分:1)
是,可以这样做。使用两个参数。
如果文本参数为IS NULL(NOTHING),请使用第一个参数。否则使用第二个参数。
您的SQL看起来像:
WHERE (FIELD IN (@Param1) and @Param2 IS NULL)
OR (FIELD = @Param2 and @Param2 IS NOT NULL)
如果用户可以键入多个值,请改用CHARINDEX:
WHERE (FIELD IN (@Param1) and @Param2 IS NULL)
OR (CHARINDEX(FIELD, @Param2) > 0)
答案 1 :(得分:0)