问题描述
我有一个被res_id
过滤的查询。该查询用于获取SSRS报告的数据。这项工作已经完成,但是我希望能够在参数属性上选择“ allow null”复选框,而不是输入0。我的res_id是一个Int。
SELECT Employee
FROM Employees
WHERE res_id = case when :ResID = 0 THEN res_id ELSE :ResID END
我尝试了以下操作,但出现“期望的数字,有CHAR”错误。
WHERE res_id = case when :ResID = 'null' THEN res_id ELSE :ResID END
WHERE res_id = case when :ResID IS NULL THEN res_id ELSE :ResID END
我认为问题出在我使用Visual Studio 2008的报表生成器中。我知道Oracle与报表之间的代码转换有时会遇到麻烦,因此这就是为什么我要寻求其他帮助方法。
非常感谢您的帮助:)
解决方法
您也可以尝试
where res_id=nvl(:ResID,res_id)