实现条件数据检索的最佳方法是什么(在Oracle中)?
场景:实体可以拥有delivery dates
和confirmed delivery dates
。
数据检索应该
进一步限制:
如果同时设置了交货日期和确认交货日期,则返回确认的交货日期。
每个实体都有一个标记important
,这将使其交付日期变得重要(相关,如果两个实体具有相同的交付日期并进行比较)。
交货日期和确认的交货日期存储在不同的列中。
问题:根据(1)和(2)检索交货日期的最佳方法是什么?
我想知道,如果可以在纯SQL中完成(特别是IF..ELSE
部分)。我想查询单个实体的日期,但我还想返回按日期排序的实体列表。我是否会更好地编写存储过程?
答案 0 :(得分:0)
您可以使用案例陈述。
http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm
语法:
CASE column_value_to_check_value
WHEN condition THEN condition_match_value
WHEN another_condition THEN condition_not_match_value
ELSE default_value
END