57  
查询码: 00000644
Sql server 查询某个时间段,分布有几周,几月和几日 - 永不言弃! - 博客园
来源:https://www.cnblogs.com/ggll611928/p/7767194.html
作者: 周杨 于 2020年04月16日 发布在分类 / 计算机应用 / 数据库 / SQLSERVER ,于 2020年04月16日 编辑
查询 number 时间 时间段 2017-10-1 不言 永不言弃 永不 博客 datepart


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 ')


结果如下图





 历史版本

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

 附件

附件类型

JPGJPG

知识分享平台 -V 5.1.4 -大信谛威