手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >MSSQL 生成日期列表代码
MSSQL 生成日期列表代码
摘要:复制代码代码如下:ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[...

复制代码 代码如下:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_getdate]') and xtype in (N'FN', N'IF', N'TF'))

drop function [dbo].[f_getdate]

GO

create function [dbo].[f_getdate]

(

@year int, --要查询的年份

@bz bit --@bz=0 查询工作日,@bz=1 查询休息日,@bz IS NULL 查询全部日期

)

RETURNS @re TABLE(Date datetime,Weekday nvarchar(3))

as

begin

DECLARE @tb TABLE(ID int ,Date datetime)

insert @tb select number,

dateadd(day,number,DATEADD(Year,@YEAR-1900,'1900-1-1'))

from master..spt_values where type='P' and number between 0 and 366

DELETE FROM @tb WHERE Date>DATEADD(Year,@YEAR-1900,'1900-12-31')

IF @bz=0

INSERT INTO @re(Date,Weekday)

SELECT Date,DATENAME(Weekday,Date)

FROM @tb

WHERE (DATEPART(Weekday,Date)+@@DATEFIRST-1)%7 BETWEEN 1 AND 5

ELSE IF @bz=1

INSERT INTO @re(Date,Weekday)

SELECT Date,DATENAME(Weekday,Date)

FROM @tb

WHERE (DATEPART(Weekday,Date)+@@DATEFIRST-1)%7 IN (0,6)

ELSE

INSERT INTO @re(Date,Weekday)

SELECT Date,DATENAME(Weekday,Date)

FROM @tb

RETURN

end

go

select * from dbo.[f_getdate]('2009',0)

【MSSQL 生成日期列表代码】相关文章:

SQL server 表操作介绍

SQL Server 2008 R2 应用及多服务器管理

MsSql 存储过程分页代码 [收集多篇]

SQL连接查询介绍

SQL Server 大量数据的分页存储过程代码

SQLServer 2005 控制用户权限访问表图文教程

SQL Server 登录连接失败

SQL Server 2008 清空删除日志文件(瞬间日志变几M)

MS SQL SERVER 数据库日志压缩方法与代码

SqlServer2005 链接服务器用法

精品推荐
分类导航