pgsql 判断当前日期是否在两个时间范围
需求
需求是当前时间根据活动开始时间与结束时间,得出一个状态值,同时并且支持搜索
2 解决
这里简捷的做法是 直接写sql
这里使用 case when 进行时间判断,得出记录的状态值,这边的状态值 可以自己根据需求定义
这里的时间格式都是 date 所以用到了
select localtimestamp;
SELECT localtimestamp as tiem ,b.cpn_end_datetime ,b.cpn_start_datetime , case when cpn_start_datetime>=localtimestamp then 1 when cpn_end_datetime <=localtimestamp then 2 when cpn_start_datetime<=localtimestamp and cpn_end_datetime >=localtimestamp then 3 end as falsh FROM public.bcoupon b
如果这边时间格式不是date 而是别的格式,就需要进行时间转换 。
https://www.cnblogs.com/zq1003/p/16979231.html
得出状态值之后,就需要搜索。
跟查询大同小异吧。
也是一种思路,之前使用代码判断,发现数据量大,这个方法是十分危险的,后来改成sql。