sql 怎样计算一月内有几个星期天

来源:百度知道 编辑:UC知道 时间:2024/05/18 02:51:31
如题

这个还是有相当难度的加点分吧
sqlserver中用 存储过程实现
CREATE PROCEDURE dayofmoth
@iyear int,
@imonth int,
@icount int output
AS
DECLARE @isleapyear int --
declare @dw int
declare @daycount int
declare @need5 int
if (@iyear % 4 = 0) and ((@iyear % 100 <> 0) or (@iyear % 400 = 0))
set @isleapyear =1
else
set @isleapyear =0
if ( @isleapyear =1)
set @daycount =29
else
set @daycount =28
if ( @imonth in (1,3,5,7,8,10,12))
set @daycount =31
if ( @imonth in(4,6,9,11))
set @daycount =30

set @dw = DATEPART(dw,CONVERT(char(4), @iyear)+'-'+CONVERT(char(2), @imonth)+'-01')

if (@dw= 1 )
set @need5 = 29
else
set @need5 = 28+9-@dw
if (@need5 <= @daycount )
set @icount = 5
else
set @icount =4
GO

========
测试代码 把上面的添加存储过程
下面的在查询分析器里执行
2007。