[英]Oracle 12c - conditional where
我有这样的查询:
SELECT COUNT(*)
INTO v_count
FROM some_table
WHERE some_column = v_some_data
AND other_col = v_other_data
我想仅在v_other_date != 'A'
使用子句“ AND other_col = v_other_data
”。
这是最好的方法吗?
SELECT COUNT(*)
INTO v_count
FROM some_table
WHERE some_column = v_some_data
AND other_col = case when v_other_data = 'A'
then other_col
else v_other_date
end
不要在where
子句中使用case
。 您可以随时用布尔逻辑替换它
WHERE some_column = v_some_data
AND (v_other_date = 'A' OR other_col = v_other_data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.