【发布时间】:2021-10-22 04:16:44
【问题描述】:
上下文
我正在使用 Oracle SQL,并且拥有如下所示的数据。人们每年都会被问到他们最喜欢的电影是什么,并且每年都会更新。
Person Date_of_Birth Favorite_Movie Update_Date
Bob 08-10-1950 Endgame 2021-01-01
Bob 08-10-1950 Batman 2020-01-01
Peter 11-01-1990 Toy Story 2021-01-01
Peter 11-01-1990 Mulan 2020-01-01
问题
我想编写一个查询,以便:
if DOB >= 70 then pull the Favorite Movie from the year they turned 70.
else: extract movie from most current year
所以对于彼得和鲍勃来说,期望的结果如下所示:
Person DOB Favorite_Movie Update_Date
Bob 08-10-1950 Batman 2020-01-01
Peter 11-01-1990 Toy Story 2021-01-01
当前代码
我当前的查询如下所示:
SELECT *,
CASE
WHEN trunc(months_between(sysdate,Date_Of_Birth)/12) >= 70 THEN
【问题讨论】:
标签: sql oracle date if-statement case