sqlserver 我想取:指定起始日期和结束日期 取出从起始日期开始到结束日期每天21:30-第二天6:50的数据
sqlserver我想取:指定起始日期和结束日期取出从起始日期开始到结束日期每天21:30-第二天6:50的数据这个怎么写很急...
sqlserver 我想取:指定起始日期和结束日期 取出从起始日期开始到结束日期每天21:30-第二天6:50的数据 这个怎么写 很急
展开
展开全部
指定日期就不用说了吧?
解决问题自己要记得换一种方式思考,不要把自己固定死了,时间是晚上9点半到早上6点50之间的需要,也就是说其他的不需要;可以使用排除法将早上6点50之后到晚上9点半之前的排除出去不就行了;
正向思维demo代码:
select * from sell_orders
where convert(varchar(10),sellsdate,102) between '2016.10.10' and '2016.10.31'
and (convert(varchar(10),sellsdate,108) between '21:30:00' and '23:59:59'
or convert(varchar(10),sellsdate,108) between '00:00:00' and '06:50:00')
反向思维demo代码:
select * from sell_orders
where convert(varchar(10),sellsdate,102) between '2016.10.10' and '2016.10.31'
and not (convert(varchar(10),sellsdate,108) between '06:50:01' and '21:30:01')
追问
嗯嗯谢谢了兄弟 这个我能写出来 我想要的是:第一天21:30~第二天6:50作为一组算作第一天的销售 而不是第一天0:00~6:50加上第一天21:30~23:59:59算作第一天 这个分组应该是按什么分组呢 最后的结果就是:第一天的总销售额(第一天21:30~第二天6:50的总销售额)、第二天的总销售额(第二天21:30~第三天6:50的总销售额)……
追答
那你就编个号来分组,然后把对应时间的数据存到一个临时表里,做法也简单,做个存储过程,传入开始日期,然后直接返回开始日期当天的21:30到0点的数据和第二天的0点到6点50的数据就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询