假如某表中有两个字段:开始时间(start_time)和结束时间(end_time),都是整数字段格式库存为时间戳。
现在想要查询出 “现在时间”(current_time,也是时间戳) 在开始时间和结束范围以内的数据。
规则如下:
1.开始时间为NULL,则不限制开始时间,即 现在时间 之前的数据都符合记录
2.结束时间为NULL,则不限制结束时间,即 现在时间以后的数据都符合记录
3.如果开始时间和结束时间都为NULL,那么查询所有的记录。
请各位指教一下。
`( start_time IS NULL and current_time< end_time )
or ( end_time IS NULL and and start_time is not null current_time> start_time )
or( start_time IS NULL and end_time IS NULL)
or ( current_time> start_time and current_time< end_time )`
这代表了四种情形:
1.开始时间为NULL,则不限制开始时间,即 现在时间 在 结束时间 之前的数据都符合记录
2.结束时间为NULL,则不限制结束时间,即 现在时间 在 开始时间 以后的数据都符合记录
3.如果开始时间和结束时间都为NULL,那么查询所有的记录。
4.如果开始时间和结束时间都为不为NULL,那么查询当前时间在此之间的数据
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。