求助SQL Server:有日期型怎样能每五天为一个单位.

[复制链接]
查看11 | 回复2 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
1
2004/5/1
2
2004/5/2
3
2004/5/3
4
2004/5/4
5
2004/5/5
6
2004/5/6
7
2004/5/7
8
2004/5/8
9
2004/5/9
10
2004/5/10
11
2004/5/11
12
2004/5/12
13
2004/5/13
14
2004/5/14
15
2004/5/15
16
2004/5/16
17
2004/5/17
18
2004/5/18
19
2004/5/19
20
2004/5/20
21
2004/5/21
22
2004/5/22
23
2004/5/23
24
2004/5/24
25
2004/5/25
26
2004/5/26
27
2004/5/27
28
2004/5/28
29
2004/5/29
30
2004/5/30
31
2004/5/31
32
2004/6/1
33
2004/6/2
34
2004/6/3
35
2004/6/4
36
2004/6/5
37
2004/6/6
38
2004/6/7
39
2004/6/8
40
2004/6/9
41
2004/6/10
42
2004/6/11
43
2004/6/12
44
2004/6/13
45
2004/6/14
46
2004/6/15
47
2004/6/16
48
2004/6/17
49
2004/6/18
50
2004/6/19
51
2004/6/20
52
2004/6/21
53
2004/6/22
54
2004/6/23
55
2004/6/24
56
2004/6/25
57
2004/6/26
58
2004/6/27
59
2004/6/28
60
2004/6/29
61
2004/6/30
62
2004/7/1
63
2004/7/2
64
2004/7/3
65
2004/7/4
66
2004/7/5

像这样数据,五天为一个单位,像有31天的月份也分成6份(最后一个单位为6天):像有28天的(最后一个单位为3天)
查询最后结果(假设求前面的顺序号的"和")
例如:
1-5天 的和为:15
5-10天的和为:40
向下一直计算

谢谢各位!!!!!!!!!


回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
不知道你用来做什么,如果只是用来分类统计,可以使用以下函数:
rankno函数得到的是分类的序号,根据月份和这个序号你很容易可以做分类统计工作。
create function rankno returns int (@date datetime)
as
begin
declare @rank int
set @rank = (case when (datepart(dd, @date) / 5) <=1 then 1

when (datepart(dd, @date) / 5) <=2 then 2

when (datepart(dd, @date) / 5) <=3 then 3

when (datepart(dd, @date) / 5) <=4 then 4

else 5 end )
return @rank
end
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
是的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行