代码如下 | 复制代码 |
select Dateadd(wk,datediff(wk,0,getdate()),0) --周一 select Dateadd(mm,datediff(mm,0,getdate()),0) --月初 select Dateadd(yy,datediff(yy,0,getdate()),0) --年初 |
1)本年初日期
代码如下 | 复制代码 |
CREATE FUNCTION GetYearFirstDay(@yourDate varchar(10)) --本年初日期 |
2)上年同期日期 上年同月末天数小于现在天数按最后一天计算
代码如下 | 复制代码 |
CREATE FUNCTION GetPreYearSameDay(@yourDate varchar(10)) --上年同期日期 上年同月末天数小于现在天数按最后一天计算 set @returnDate=DateAdd(m,1,@getDate) --取得下月日期 set @returnDate=cast(str(year(@returnDate)-1)+'-'+str(month(@returnDate))+'-'+'01' as datetime)-1 --取得去年同月的最后一天日期 set @returnDateYear=year(@returnDate) --去年同月 年份 if @getDateDay>@returnDateDay --传入日期天数大于去年同月末天数 返回去年同月最后一天 |
3)取 前 几天 日期
代码如下 | 复制代码 |
CREATE FUNCTION GetPreSomeDate(@yourDate varchar(10),@PreDays int) --取 前 几天 日期 BEGIN set @getDate=cast(@yourDate as datetime) |
4)上月同期日期 上月末天数小于现在天数按最后一天计算
代码如下 | 复制代码 |
CREATE FUNCTION GetPreMonthSameDay(@yourDate varchar(10)) --上月同期日期 上月末天数小于现在天数按最后一天计算 BEGIN set @returnDate=cast(str(@getDateYear)+'-'+str(@getDateMonth)+'-01' as datetime)-1 --上月最后一天 if @getDateDay>@returnDateDay --传入日期天数大于上月末天数 返回上月最后一天 |
5)上月最后一天日期
代码如下 | 复制代码 |
CREATE FUNCTION GetPreMonthLastDay(@yourDate varchar(10)) --上月最后一天日期 BEGIN |
6)下面有取得本月初日期 、--本月初日期、本月末日期
一个日期格式sql比较复杂
代码如下 | 复制代码 |
CREATE FUNCTION GetMonthFirstDay(@yourDate varchar(10)) --取得本月初日期 RETURNS varchar(10) AS
BEGIN
|
代码如下 | 复制代码 |
select '100' as region, |