首页 > 技术文章 > 数据库查询显示一年中所有的周一到周五的数据

windson 2019-01-19 01:03 原文

select * from 表名 where WeekDay(日期字段) -1  between 1 and 5
其中WeekDay是求日期是周几的一个函数,但是按照外国,是从星期日开始算每周的第一天,所以要减去1

  

select count(*) from weixiuguanli where weixiuzt= '待维修'
select * from weixiuguanli where weixiuzt= '待维修'

select top 5 * from WeiXiuGuanLi Order By baoxiusj Desc --按时间升降

select * from weixiuguanli where baoxiusj >= date() and baoxiusj < DateAdd('d', 1, date()) and weixiuzt='已维修'
select * from weixiuguanli where (DateDiff('d',baoxiusj,Date())=0) -- d 一天
select * from weixiuguanli where (DateDiff('w',baoxiusj,Date())=0) -- w 一7天
select * from weixiuguanli where (DateDiff('m',baoxiusj,Date())=0) -- m 一月
select * from weixiuguanli where (DateDiff('d',baoxiusj,Date())=1) -- d 昨天
select * from weixiuguanli where (DateDiff('q',baoxiusj,Date())=0) -- q 季度
select * from weixiuguanli where (DateDiff('yyyy',baoxiusj,Date())=0) -- y 今年度
select * from weixiuguanli where (DateDiff('yyyy',baoxiusj,Date())=1) -- y 去年度
select * from weixiuguanli where datediff('w',baoxiusj,now()+1)=0 -- w 星期一到星期天

--========================================================

本月记录
select * from [table] where datediff('m',theDate,now())=0
本周记录
select * from [table] where datediff('w',theDate,now())=0
本日记录
select * from [table] where datediff('d',theDate,now())=0
本年记录
select * from [table] where datediff('y',theDate,now())=0

--sql

 

表名为:tableName 
时间字段名为:theDate 

查询本月的记录 
select * from tableName where DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 

查询本周的记录 
select * from tableName where DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 

查询本季的记录 
select * from tableName where DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 

其中:GETDATE()是获得系统时间的函数。 

  

推荐阅读