SQL Server 日期范围按每月一行拆分

摘要:
给定一个日期,按月每行拆分。

给定一个日期,按月每行拆分。

CREATE TABLE #temp(from_date DATE,to_date DATE);
INSERT INTO #temp (from_date,to_date) VALUES ( '2013-10-25','2013-12-05');
SELECT * FROM #temp;

SELECT  CASE n.number WHEN 0 THENd.from_date
          ELSE DATEADD(MONTH, n.number,DATEADD(DAY, 1 - DAY(from_date), from_date))
        END [start_date],
        CASE n.number WHEN DATEDIFF(MONTH, d.from_date, d.to_date) THENto_date
          ELSE DATEADD(DAY, -1,DATEADD(MONTH, 1,DATEADD(MONTH, n.number, DATEADD(DAY, 1 - DAY(from_date),from_date))))
        END [end_date]
FROMmaster.dbo.spt_values n
        INNER JOIN #temp AS d ON d.to_date >= DATEADD(MONTH, n.number - 1,d.from_date)
WHERE   type = 'p'

原始数据集:

SQL Server 日期范围按每月一行拆分第1张

拆分结果集:

SQL Server 日期范围按每月一行拆分第2张

免责声明:文章转载自《SQL Server 日期范围按每月一行拆分》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue组件之间的传值方式原生js实现form表单序列化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySql与Java的时间类型

MySql与Java的时间类型 MySql的时间类型有Java中与之对应的时间类型datejava.sql.Date Datetimejava.sql.Timestamp Timestampjava.sql.Timestamp Timejava.sql.Time Yearjava.sql.Date 对其进行分析参考MySql 的reference ma...

七、企业级的redis数据备份和各种灾难下的数据恢复,是怎么做得呢?

1、企业级的持久化的配置策略 在企业中,RDB的生成策略,用默认的也差不多 save 60 10000:如果你希望尽可能确保说,RDB最多丢1分钟的数据,那么尽量就是每隔1分钟都生成一个快照,低峰期,数据量很少,也没必要 10000->生成RDB,1000->RDB,这个根据你自己的应用和业务的数据量,你自己去决定 AOF一定要打开,fsync...

ios代码实现时间设置NSDate

本文转载至 http://www.baidu.com/link?url=dcQWiL1FD_She6P4RM2IvEeJas0_gtG3LkRNTV5H87X0AyKCHvwYjBz2hdcB2JVpTyMRhl6Hno2FX_U3TEDgZq             //1),创建一个对象,赋值为当前日期date 创建的NSDate对象,获得的...

date-fns时间库的基本使用

在react中使用date-fns: import sub_days from 'date-fns/sub_days'; import start_of_week from 'date-fns/start_of_week'; import end_of_week from 'date-fns/end_of_week'; import start_of_...

sql server 获取上周几和本周几

-- sql server 获取上周几和本周几 -- @@DATEFIRST 每周以周几开始,周一是 1 ,周日是 7 ,有些机器默认是7,有些机器默认是1 SELECT @@DATEFIRST -- 修改 @@DATEFIRST 的值 SET DATEFIRST 7 -- 查询当前每周是以周几开始,今天是一周的第几天 SELECT @@DATEFIRS...

mybatis批量新增报错 BadSqlGrammarException

org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL synta...