1 ---求相差天数
2 select datediff(day,'2004-01-01',getdate())
3
4 --1.一个月第一天的
5 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
6
7 --2.本周的星期一
8 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
9
10 select dateadd(wk,datediff(wk,0,getdate()),6)
11 --3.一年的第一天
12 SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
13
14 --4.季度的第一天
15 SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
16
17 --5.当天的半夜
18 SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
19
20 --6.上个月的最后一天
21 SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
22
23 --7.去年的最后一天
24 SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
25
26 --8.本月的最后一天
27 SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
28
29 --9.本年的最后一天
30 SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
31
32 --10.本月的第一个星期一
33 select DATEADD(wk,
34 DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)
35
36 --查询本周注册人数
37 select count(*) from [user]
38 where datediff(week,create_day-1,getdate())=0
39
40 --上周注册人数
41 select count(*) from [user]
42 where datediff(week,create_day-1,getdate())=1
43
44
45 --本月注册人数
46 select count(*) from [user]
47 where datediff(month,create_day,getdate())=0
48
49 --上月注册人数
50 select count(*) from [user]
51 where datediff(month,create_day,getdate())=1
52
53 --如果要效率,这样写查询
54
55 --查询本周注册人数
56 select count(*) from [user]
57 where create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))
58 and create_day<dateadd(day,9-datepart(weekday,getdate()),convert(varchar,getdate(),112))
59
60 --上周注册人数
61 select count(*) from [user]
62 where create_day>=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112))
63 and create_day<dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))
64
65
66 --本月注册人数
67 select count(*) from [user]
68 where create_day>=dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))
69 and create_day<dateadd(month,1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)))
70
71 --上月注册人数
72 select count(*) from [user]
73 where create_day>=dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)))
74 and create_day<dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))
75
76 --本周
77 select count(*) from User
78 where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())
79
80 --上周
81 select count(*) from User
82 where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 7
83
84 --本月
85 select count(*) from User
86 where datepart(mm,create_day) = datepart(mm,getdate())
87 --上月
88 select count(*) from User
89 where datepart(mm,create_day) = datepart(mm,getdate()) - 1
90 --本周
91 select count(*) from [User]
92 where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())
93
94 --上周
95 select count(*) from [User]
96 where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 7
97
98 --本月
99 select count(*) from [User]
100 where datepart(mm,create_day) = datepart(mm,getdate())
101 --上月
102 select count(*) from [User]
103 where datepart(mm,create_day) = datepart(mm,getdate()) - 1
104 学习
105 month(create_day)=month(getdate())本月
106 month(create_day)=month(getdate())-1 上月
107
108 补充 查询今日所有的
109 SELECT * from feedback WHERE (DATEDIFF(d,fedtime,GETDATE())=0) ORDER BY fedid DESC
select
datediff(
day
,
'2004-01-01'
,getdate())
SELECT
DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
SELECT
DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
select
dateadd(wk,datediff(wk,0,getdate()),6)
SELECT
DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
SELECT
DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
SELECT
DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
SELECT
dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
SELECT
dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
SELECT
dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
SELECT
dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
select
DATEADD(wk,
DATEDIFF(wk,0,dateadd(dd,6-datepart(
day
,getdate()),getdate())), 0)
select
count
(*)
from
[
user
]
where
datediff(week,create_day-1,getdate())=0
select
count
(*)
from
[
user
]
where
datediff(week,create_day-1,getdate())=1
select
count
(*)
from
[
user
]
where
datediff(
month
,create_day,getdate())=0
select
count
(*)
from
[
user
]
where
datediff(
month
,create_day,getdate())=1
select
count
(*)
from
[
user
]
where
create_day>=dateadd(
day
,2-datepart(weekday,getdate()),
convert
(
varchar
,getdate(),112))
and
create_day<dateadd(
day
,9-datepart(weekday,getdate()),
convert
(
varchar
,getdate(),112))
select
count
(*)
from
[
user
]
where
create_day>=dateadd(
day
,-5-datepart(weekday,getdate()),
convert
(
varchar
,getdate(),112))
and
create_day<dateadd(
day
,2-datepart(weekday,getdate()),
convert
(
varchar
,getdate(),112))
select
count
(*)
from
[
user
]
where
create_day>=dateadd(
day
,1-
day
(getdate()),
convert
(
varchar
,getdate(),112))
and
create_day<dateadd(
month
,1,dateadd(
day
,1-
day
(getdate()),
convert
(
varchar
,getdate(),112)))
select
count
(*)
from
[
user
]
where
create_day>=dateadd(
month
,-1,dateadd(
day
,1-
day
(getdate()),
convert
(
varchar
,getdate(),112)))
and
create_day<dateadd(
day
,1-
day
(getdate()),
convert
(
varchar
,getdate(),112))
select
count
(*)
from
User
where
datediff(dd,create_day,getdate()) <= datepart(dw,getdate())
select
count
(*)
from
User
where
datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 7
select
count
(*)
from
User
where
datepart(mm,create_day) = datepart(mm,getdate())
select
count
(*)
from
User
where
datepart(mm,create_day) = datepart(mm,getdate()) - 1
select
count
(*)
from
[
User
]
where
datediff(dd,create_day,getdate()) <= datepart(dw,getdate())
select
count
(*)
from
[
User
]
where
datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 7
select
count
(*)
from
[
User
]
where
datepart(mm,create_day) = datepart(mm,getdate())
select
count
(*)
from
[
User
]
where
datepart(mm,create_day) = datepart(mm,getdate()) - 1
学习
month
(create_day)=
month
(getdate())本月
month
(create_day)=
month
(getdate())-1 上月
补充 查询今日所有的
SELECT
*
from
feedback
WHERE
(DATEDIFF(d,fedtime,GETDATE())=0)
ORDER
BY
fedid
DESC