您现在的位置是:网站首页> 编程资料编程资料
MSSQL 生成日期列表代码_MsSql_
2023-05-26
361人已围观
简介 MSSQL 生成日期列表代码_MsSql_
复制代码 代码如下:
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)
相关内容
- SQL 判断字段类型语句_MsSql_
- 用sql获取某字符串中的数字部分的语句_MsSql_
- 一些文件未注册导致mssql表文件无法找开的解决方法_MsSql_
- 系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明_MsSql_
- sqlserver 禁用触发器和启用触发器的语句_MsSql_
- SQLSERVER中union,cube,rollup,cumpute运算符使用说明_MsSql_
- 实现按关健字模糊查询,并按匹配度排序的SQL语句_MsSql_
- sqlserver 字符串分拆 语句_MsSql_
- MSSQL 提取汉字实现语句_MsSql_
- MSSQL 首字母替换成大写字母_MsSql_
