報表中常用到的日期計算方式 個人小結

2021-05-22 22:56:19 字數 1840 閱讀 9675

--日期:-09-21 02:30

declare @dt datetime

set @dt='2009-09-20'

--1.1 求本月的第天:

select dateadd(mm,datediff(mm,0,@dt),0) --2009-09-01 00:00:00.000

--1.2 求本月的最後天:

select dateadd(mm,datediff(mm,0,@dt)+1,0)-1 --2009-09-30 00:00:00.000

--2.1.1 求本週的第一天(週日為第一天):兩種方法

select dateadd(wk,datediff(wk,0,@dt),0)-1 --2009-09-20 00:00:00.000

select  @dt+1-datepart(w,@dt+@@datefirst) --2009-09-20 00:00:00.000

--2.1.2 求本週的第一天(周一為第一天):

select  @dt+1-datepart(w,@dt+@@datefirst-1) --2009-09-14 00:00:00.000

--2.2   求本週的最後一天(在本週第一天的基礎上加)

--2.3.1 求本週的第乙個工作日(週日為第一天):兩種方法

select dateadd(wk,datediff(wk,0,@dt),0) --2009-09-21 00:00:00.000

select  @dt+2-datepart(w,@dt+@@datefirst) --2009-09-21 00:00:00.000

select dateadd(dd,1-(datepart(w,@dt)+@@datefirst-1)%7,@dt) --2009-09-21 00:00:00.000

--2.3.2 求本週的第乙個工作日(周一為第一天):

select  @dt+1-datepart(w,@dt+@@datefirst-1) --2009-09-14 00:00:00.000

--2.4   求本週的最後乙個工作日(在第乙個工作日的基礎上加)

--2.5   求本月的第乙個星期一:

select dateadd(wk,datediff(wk,0,dateadd(dd,6-datepart(dd,@dt),@dt)),0)

--2009-09-07 00:00:00.000

--3.1 求本年的第一天:

select dateadd(yy,datediff(yy,0,@dt),0) --2009-01-01 00:00:00.000

--3.2 求本年的最後一天:

select dateadd(yy,datediff(yy,0,@dt)+1,0)-1 --2009-12-31 00:00:00.000

--4.1 求本季度的第一天:

select dateadd(qq,datediff(qq,0,@dt),0) --2009-07-01 00:00:00.000

--4.2 求本季度的最後一天:

select dateadd(qq,datediff(qq,0,@dt)+1,0)-1 --2009-09-30 00:00:00.000

--5.1 求半年度的第一天:

select dateadd(mm,datediff(mm,0,dateadd(mm,-(month(@dt)-1)%6,@dt)),0)

--2009-07-01 00:00:00.000

--5.2 求半年度的最後一天:

select dateadd(mm,datediff(mm,0,dateadd(mm,-(month(@dt)-1)%6+6,@dt)),0)-1

--2009-12-31 00:00:00.000

報表中常用到的日期計算方式

原文 htl258 tony 日期 09 21 02 30 declare dtdatetime set dt 2009 09 20 1.1 求本月的第天 select dateadd mm datediff mm 0,dt 0 2009 09 01 00 00 00.000 1.2 求本月的最後天...

報表中常用到的日期計算方式 個人小結 ,陸續更新

日期 09 21 02 30 declare dtdatetime set dt 2009 09 20 1.1 求本月的第天 select dateadd mm datediff mm 0,dt 0 2009 09 01 00 00 00.000 1.2 求本月的最後天 select dateadd...

FPGA中常用到的計算轉換

演算法經過軟體設計和除錯之後,需要對映到fpga中,由於軟硬體的區別,大部分演算法需要經過等效轉換,變成硬體容易實現的方式,才能對映。這裡記錄一下學習到的知識,以後忘記了也可以看看。計算機中的數分為定點數和浮點數。定點數一般用二進位制補碼表示,對於乙個二進位制補碼表示的數,如果其小數點位置固定,則為...