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