首页 新闻 会员 周边

我需要在ms sql 中求出这样的东西 请高手进 我们讨论下

0
悬赏园豆:20 [待解决问题]

其实我想要实现的是 已知的是开始时间 和结束时间 我需要把这期间的所涉及到的天数展现出来

方法不限,越简单越好 

Jession.的主页 Jession. | 初学一级 | 园豆:96
提问于:2016-03-17 15:49
< >
分享
所有回答(1)
0

ms sql 我用的很少,但是我知道怎么解决你的问题

  1. 建立一张表(就叫t_num),里面需要一个字段(就叫n) 数据为0 1 2 3 4 。。。连续的数字,具体到你的开始时间-结束时间的这么大,反正必须必这个大(这么做事因为oracle中有这么一个功能,可以返回这样的数据。可能ms sql里面也有这样的功能,但是咱们就当没有来实现)
  2. 我就直接说伪代码了,不懂你就问,肯定能实现

select count(*) from (

  select 1 from (select n from t_num where n <= (开始时间-结束时间 就是间隔天数) ) as day

  where (开始时间 + day.n )这一天存在

) as  t

 

这样就实现了很简答的,你说呢?

刘宏玺 | 园豆:14020 (专家六级) | 2016-03-17 16:55

我的是ms sql 哦 不是oracle 

支持(0) 反对(0) Jession. | 园豆:96 (初学一级) | 2016-03-18 09:57

@Jession.: 老兄,我给你写的就是ms sql的语句,你别告诉我实现不了

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2016-03-18 09:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册