Oracle CASE在“无效”时使用Int处理SSRS报告

问题描述

我有一个被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)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...