2020-04-16 17:06:40 版本 : Sql server 查询某个时间段,分布有几周,几月和几日 - 永不言弃! - 博客园
作者: 周杨 于 2020年04月16日 发布在分类 / 计算机应用 / 数据库 / SQLSERVER 下,并于 2020年04月16日 编辑
 历史版本

备注 修改日期 修改人
CREAT 2020-04-16 17:06:40[当前版本] 系统管理员


1. 查询:以“周”为单位


-- 查询以下时间段内分别有几周

-- 时间段:“2017-09-01”到“2017-10-1” 

select number as wknum from master..spt_values 

where type= ' p ' AND number >= datepart(wk,' 2017-9-1 ' ) and number <= datepart(wk,' 2017-10-1 ')


结果如下图



2. 查询:以“月”为单位


-- 查询以下时间段内分别有几月

-- 时间段:“2017-09-01”到“2017-10-1”

select number as wknum from master..spt_values

where type= ' p ' AND number >= datepart(mm,' 2017-9-1 ' ) and number <= datepart(mm,' 2017-10-1 ')


结果如下图



3. 查询:以“日”为单位


-- 查询以下时间段内分别有几日

-- 时间段:“2017-09-29”到“2017-10-3”

select convert(varchar(10),DATEADD(day,number,' 2017-9-29 ') ,120 ) wknum from master.dbo.spt_values where type= ' p ' AND number <= DATEDIFF(day,' 2017-9-29 ',' 2017-10-3 ')


结果如下图



历史版本-目录  [回到顶端]
    知识分享平台 -V 5.1.4 -大信谛威