/*返回最后一天*/ create function uf_LastDay( @date datetime) returns int as begin declare @year int, @Month int,@day int,@lastday intselect @year=datepart(year,@date),@month=datepart(month,@date),@day=datepart(day,@date),@lastday=0 if @year%100=0 begin if @year%400=0 set @lastday=1 end else begin if @year%4=0 set @lastday=1 endif @month in (1,3,5,7,8,10,12) set @lastday=31 else if @month in (4,6,8,9,11) set @lastday=30 else set @lastday=@lastday+28 return @lastday end 如果你使用的是 SQL Server 2000 可以先生成这样一个函数然后这样调用 select dbo.uf_LastDay(日期变量或日期字段) 注意 如果你生成函数时用的登陆名不是sa的话 调用函数是 select 登陆名.uf_LastDay(日期变量或日期字段)也可以这样用 select 登陆名.uf_LastDay(日期字段) 最后一日 ,* from 表
/*返回最后一天*/ create function uf_LastDay( @date datetime) returns int as begin declare @year int, @Month int,@day int,@lastday intselect @year=datepart(year,@date),@month=datepart(month,@date),@day=datepart(day,@date),@lastday=0 if @year%100=0 begin if @year%400=0 set @lastday=1 end else begin if @year%4=0 set @lastday=1 endif @month in (1,3,5,7,8,10,12) set @lastday=31 else if @month in (4,6,8,9,11) set @lastday=30 else set @lastday=@lastday+28 return @lastday end 如果你使用的是 SQL Server 2000 可以先生成这样一个函数然后这样调用 select dbo.uf_LastDay(日期变量或日期字段) 注意 如果你生成函数时用的登陆名不是sa的话 调用函数是 select 登陆名.uf_LastDay(日期变量或日期字段)也可以这样用 select 登陆名.uf_LastDay(日期字段) 最后一日 ,* from 表
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108) ---06:05:05
select dateadd(Day,0-day(getdate()),dateadd(Month,1,getdate()))
-------------------^
select dateadd(Day,1-day(getdate()),dateadd(Month,1,getdate()))
create function uf_LastDay( @date datetime)
returns int
as
begin
declare @year int, @Month int,@day int,@lastday intselect @year=datepart(year,@date),@month=datepart(month,@date),@day=datepart(day,@date),@lastday=0
if @year%100=0
begin
if @year%400=0 set @lastday=1
end
else
begin
if @year%4=0 set @lastday=1
endif @month in (1,3,5,7,8,10,12)
set @lastday=31
else if @month in (4,6,8,9,11)
set @lastday=30
else set @lastday=@lastday+28
return @lastday
end
如果你使用的是 SQL Server 2000
可以先生成这样一个函数然后这样调用
select dbo.uf_LastDay(日期变量或日期字段)
注意 如果你生成函数时用的登陆名不是sa的话
调用函数是
select 登陆名.uf_LastDay(日期变量或日期字段)也可以这样用
select 登陆名.uf_LastDay(日期字段) 最后一日 ,* from 表
create function uf_LastDay( @date datetime)
returns int
as
begin
declare @year int, @Month int,@day int,@lastday intselect @year=datepart(year,@date),@month=datepart(month,@date),@day=datepart(day,@date),@lastday=0
if @year%100=0
begin
if @year%400=0 set @lastday=1
end
else
begin
if @year%4=0 set @lastday=1
endif @month in (1,3,5,7,8,10,12)
set @lastday=31
else if @month in (4,6,8,9,11)
set @lastday=30
else set @lastday=@lastday+28
return @lastday
end
如果你使用的是 SQL Server 2000
可以先生成这样一个函数然后这样调用
select dbo.uf_LastDay(日期变量或日期字段)
注意 如果你生成函数时用的登陆名不是sa的话
调用函数是
select 登陆名.uf_LastDay(日期变量或日期字段)也可以这样用
select 登陆名.uf_LastDay(日期字段) 最后一日 ,* from 表