sql server 获取上个月,上周

上周第一天: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)

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值