我有一个更复杂的查询,但我会给一个简单的例子。在SSRS相同的输入,但需要不同的输出:
select * from myTable where case when :PAR1 = 'hour' then myTable.hour = :PAR1 when :PAR1 = 'Mounth' then myTable.Mounth = :PAR1 end
怎么做呢?我在试着
case length(:PAR1) when 18 then hour: = PAR1 ..
永远是个错误。
pbossiut1#
这里不需要CASE表达式:
CASE
SELECT * FROM myTable WHERE (:PAR1 = 'hour' AND hour = :PAR1) OR (:PAR1 = 'Mounth' AND Mounth = :PAR1);
xqk2d5yq2#
您发布的代码对我来说没有意义;您确定:PAR1 * 在任何地方 * 都使用吗?我希望使用类似的代码
:PAR1
select * from mytable where (:PAR1 = 'hour' and hour = :PAR2) or (:PAR1 = 'Mounth' and mounth = :PAR2) ------- maybe not :PAR2, but certainly not :PAR1
还有,当你在谈论“小时”的时候,“月”是什么?那不是应该是“月”吗?
2条答案
按热度按时间pbossiut1#
这里不需要
CASE
表达式:xqk2d5yq2#
您发布的代码对我来说没有意义;您确定
:PAR1
* 在任何地方 * 都使用吗?我希望使用类似的代码还有,当你在谈论“小时”的时候,“月”是什么?那不是应该是“月”吗?