sql查询当天、本周、本月、本年
2015-10-28 16:54
736 查看
--查询当天:
--查询24小时内的:
--info为表名,datetime为数据库中的字段值
--info为表名,datetime为数据库中的字段值
标签: 一个月的第一天 本周一 一年的第一天
1.一个月第一天的
Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
2.本周一
Select DATEADD(wk, DATEDIFF(wk,0,getdate()),0)
Select dateadd(wk,datediff(wk,0,getdate()),6)
3.一年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
4.季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
5.当天的半夜
SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
6.上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
7.去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
8.本月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
9.本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
10.本月的第一个星期一
select
DATEADD(wk,DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)
11.查询本周注册人数
select count(*) from [user] where datediff(week,create_day-1,getdate())=0
12.上周注册人数
select count(*) from [user] where
datediff(week,create_day-1,getdate())=1
13.本月注册人数
select count(*) from [user] where
datediff(month,create_day,getdate())=0
14.上月注册人数
select count(*) from [user]
where datediff(month,create_day,getdate())=1
如果要效率,这样写查询
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))
2.上周注册人数
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))
3.本月注册人数
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)))
4.上月注册人数
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))
5.本周
select count(*) from User
where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())
6.上周
select count(*) from User
where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <=
7
7.本月
select count(*) from User
where datepart(mm,create_day) = datepart(mm,getdate())
8.上月
select count(*) from User
where datepart(mm,create_day) = datepart(mm,getdate()) - 1
9.本周
select count(*) from [User]
where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())
10.上周
select count(*) from [User]
where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <=
7
11.本月
select count(*) from [User]
where datepart(mm,create_day) = datepart(mm,getdate())
12.上月
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
select * from info where DateDiff(dd,datetime,getdate())=0 |
select * from info where DateDiff(hh,datetime,getDate())<=24 |
--info为表名,datetime为数据库中的字段值
标签: 一个月的第一天 本周一 一年的第一天
1.一个月第一天的
Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
2.本周一
Select DATEADD(wk, DATEDIFF(wk,0,getdate()),0)
Select dateadd(wk,datediff(wk,0,getdate()),6)
3.一年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
4.季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
5.当天的半夜
SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
6.上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
7.去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
8.本月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
9.本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
10.本月的第一个星期一
select
DATEADD(wk,DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)
11.查询本周注册人数
select count(*) from [user] where datediff(week,create_day-1,getdate())=0
12.上周注册人数
select count(*) from [user] where
datediff(week,create_day-1,getdate())=1
13.本月注册人数
select count(*) from [user] where
datediff(month,create_day,getdate())=0
14.上月注册人数
select count(*) from [user]
where datediff(month,create_day,getdate())=1
如果要效率,这样写查询
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))
2.上周注册人数
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))
3.本月注册人数
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)))
4.上月注册人数
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))
5.本周
select count(*) from User
where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())
6.上周
select count(*) from User
where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <=
7
7.本月
select count(*) from User
where datepart(mm,create_day) = datepart(mm,getdate())
8.上月
select count(*) from User
where datepart(mm,create_day) = datepart(mm,getdate()) - 1
9.本周
select count(*) from [User]
where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())
10.上周
select count(*) from [User]
where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <=
7
11.本月
select count(*) from [User]
where datepart(mm,create_day) = datepart(mm,getdate())
12.上月
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
相关文章推荐
- 远程连接mysql速度慢的解决方法
- Memcached 内存分配机制介绍
- Memcache存储大数据的问题
- C#创建Access数据库的备注字段
- Access sql语句创建表及字段类型
- 查询Access表名的Sql语句
- SQLServer数据库名字数据库文件的逻辑文件名的查询和修改
- mysql 查询当天、本周、上周、本月、上个月份的数据
- Mysql limit详解
- 使用ADOX创建Access数据库和表
- Memcached常用的命令
- sql server日期比较日期查询常用语句
- 好用的asp防SQL注入代码
- MySQL Study之--MySQL innodb引擎备份工具XtraBackup之二(数据库全备)
- SQL语句
- C#语言创建Access数据库
- sql防注入防范sql注入式攻击js版本
- ACCESS中使用SQL语句应注意的地方及几点技巧
- Oracle数据库中,通过function的方式建立自增字段
- 【mysql】一个关于order by排序的问题