Oracle CASE WHEN 'null' 为 SSRS 报告使用 Int
Oracle CASE WHEN 'null' to work with an Int for a SSRS report
我有一个正在被 res_id
过滤的查询。此查询用于获取 SSRS 报告的数据。这是在做这项工作,但是我希望能够 select 参数属性上的 'allow null' 复选框,而不是输入 0。我的 res_id 是一个 Int。
SELECT Employee
FROM Employees
WHERE res_id = case when :ResID = 0 THEN res_id ELSE :ResID END
我尝试了以下方法,但出现 'Expected Number, got a 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)
我有一个正在被 res_id
过滤的查询。此查询用于获取 SSRS 报告的数据。这是在做这项工作,但是我希望能够 select 参数属性上的 'allow null' 复选框,而不是输入 0。我的 res_id 是一个 Int。
SELECT Employee
FROM Employees
WHERE res_id = case when :ResID = 0 THEN res_id ELSE :ResID END
我尝试了以下方法,但出现 'Expected Number, got a 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)