牛骨文教育服务平台(让学习变的简单)
博文笔记

sql server 获取上个月,上周

创建时间:2017-01-11 投稿人: 浏览次数:1567

上周第一天:SELECTDATEADD(wk, DATEDIFF(wk,0,getdate()-7), 0)

上周最后一天:SELECTDATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

 

上个月第一天:SELECTDATEADD(mm, DATEDIFF(mm,0,getdate())-1, 0)

上个月最后一天:selectdateadd(mm,datediff(mm,0,getdate()),0)

 

①本周的星期一:SELECTDATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

②一年的第一天:SELECTDATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

③季度的第一天:SELECTDATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

④当天的半夜: SELECTDATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

⑤上个月的最后一天:SELECTdateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

⑥去年的最后一天: SELECTdateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

⑦本月的最后一天:SELECTdateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate()) 1, 0))

⑧本年的最后一天:SELECTdateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()) 1, 0))

⑨本月的第一个星期一:selectDATEADD(wk, DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

10 本月的第一天:SELECT DATEADD(mm, DATEDIFF(m,0,getdate()), 0)

 

Oracle部分

 

 

1.获取当前年月日

 

trunc(sysdate) 或者trunc(sysdate,"dd")

 

2.当年第一天

 

trunc(sysdate,"yyyy")

 

3.当月第一天

 

trunc(sysdate,"mm")

 

4.当周第一天

 

trunc(sysdate,"d")

 

5.当前季度第一天,下一季度第一天

 

trunc(sysdate,"q"),trunc(add_months(sysdate,3),"q")

 

6.每半年的第一天

 

add_months(trunc(sysdate,"yyyy"),6)

 

7.当月天数

 

extract(day from last_day(sysdate))

 

8.当年天数

 

trunc(add_months(sysdate,12),"yyyy")-trunc(sysdate,"yyyy")

 

9.获取当月的每一天的日期值

 

select trunc(sysdate,"mm")+rownum-1 fromdual

 

connect by rownum<=last_day(sysdate)-trunc(sysdate,"mm")+1

 

10.获取当年的每一天的值

 

select trunc(sysdate,"yyyy")+rownum-1 fromdual

 

connect by rownum<=

 

trunc(add_months(sysdate,12),"yyyy")-trunc(sysdate,"yyyy")

 

11.获取指定日期到当天的所有日期值

 

select to_date("2012-3-3","yyyy-mm-dd")+rownum-1from dual

 

connect byrownum<=trunc(sysdate)-to_date("2012-3-3","yyyy-mm-dd")+1

 

12 下周几的值

 

next_day(sysdate,"星期一")或next_day(sysdate,"Monday")  //根据自己的数据库设定输入汉字或英文

 

13 当年最后一天

 

add_months(trunc(sysdate,"yyyy"),12)

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。