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

2021-08-24 19:44:32 字數 2453 閱讀 7784

--------------------------------------------

--日期:-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(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

--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 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 datead...

FPGA中常用到的計算轉換

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