是否可以在WHERE子句中使用不带ELSE的CASE,如IF?是否有条件。
实施例
WHERE monto = 100
AND CASE WHEN @canal is not null
THEN canal = @canal
END
我问这个是因为我想这样做
WHERE monto = 100
IF (@canal is not null){
AND canal = @canal
}
答案 0 :(得分:3)
您需要在WHERE
:
WHERE monto = 100 AND ( @canal IS NULL OR canal = @canal )
如果它实际上存在于存储过程中,那么在不同查询周围使用IF...ELSE
可能会更有效,一个使用此参数,另一个不使用。{/ p>