首页 > 数据库 > pgsql 判断当前日期是否在两个时间范围

pgsql 判断当前日期是否在两个时间范围

时间:2022-12-06 11:22:44浏览次数:68  
标签:判断 end cpn localtimestamp datetime 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://blog.csdn.net/c_xiazai12345/article/details/127671252

 

 

得出状态值之后,就需要搜索。

 

 

跟查询大同小异吧。

 

也是一种思路,之前使用代码判断,发现数据量大,这个方法是十分危险的,后来改成sql。

 

标签:判断,end,cpn,localtimestamp,datetime,pgsql,日期,时间,状态值
From: https://www.cnblogs.com/zq1003/p/16954697.html

相关文章