如果当前日期小于“2011-01-01”,如何选择年龄限制为19 t0 25的人 如果当前日期大于或等于'2011-01-01',则年龄限制在19至26之间
答案 0 :(得分:0)
您可以使用简单的AND-OR逻辑来实现此目的。
Select * from <people_table>
where ( (age between 19 and 25) and
(current_date < to_date('2011-01-01','YYYY-MM-DD'))
)
or ( (age between 19 and 26) and
(current_date >= to_date('2011-01-01','YYYY-MM-DD'))
)
除非当然,通过current_date,如果你的意思是sysdate,你就会......
Select * from <people_table>
where ( (age between 19 and 25) and
(sysdate < to_date('2011-01-01','YYYY-MM-DD'))
)
or ( (age between 19 and 26) and
(sysdate >= to_date('2011-01-01','YYYY-MM-DD'))
)
答案 1 :(得分:0)
好吧,在MySQL中,CURDATE()会告诉你当前的日期。 然后,您可以起诉DATEDIFF()并查看差异是否在您想要的范围内。 例如,
SELECT * 从表 WHERE DATEDIFF(年,CURDATE(),日期)&gt; 18 AND DATEDIFF(年,CURDATE(),日期)&lt; 26;
答案 2 :(得分:0)
试试这个 -
select * from people_table
where age > 19 and age <=
case
when (getdate() < '2011-01-01') then 25
when (getdate() >= '2011-01-01') then 26
end