MSSQL生成日期列表代码
2023-06-13 09:14:12 时间
ifexists(select*fromdbo.sysobjectswhereid=object_id(N"[dbo].[f_getdate]")andxtypein(N"FN",N"IF",N"TF"))
dropfunction[dbo].[f_getdate]
GO
createfunction[dbo].[f_getdate]
(
@yearint,--要查询的年份
@bzbit--@bz=0查询工作日,@bz=1查询休息日,@bzISNULL查询全部日期
)
RETURNS@reTABLE(Datedatetime,Weekdaynvarchar(3))
as
begin
DECLARE@tbTABLE(IDint,Datedatetime)
insert@tbselectnumber,
dateadd(day,number,DATEADD(Year,@YEAR-1900,"1900-1-1"))
frommaster..spt_valueswheretype="P"andnumberbetween0and366
DELETEFROM@tbWHEREDate>DATEADD(Year,@YEAR-1900,"1900-12-31")
IF@bz=0
INSERTINTO@re(Date,Weekday)
SELECTDate,DATENAME(Weekday,Date)
FROM@tb
WHERE(DATEPART(Weekday,Date)+@@DATEFIRST-1)%7BETWEEN1AND5
ELSEIF@bz=1
INSERTINTO@re(Date,Weekday)
SELECTDate,DATENAME(Weekday,Date)
FROM@tb
WHERE(DATEPART(Weekday,Date)+@@DATEFIRST-1)%7IN(0,6)
ELSE
INSERTINTO@re(Date,Weekday)
SELECTDate,DATENAME(Weekday,Date)
FROM@tb
RETURN
end
go
select*fromdbo.[f_getdate]("2009",0)
相关文章
- calendar类常用方法_设计一个日期类date
- 7b2美化-侧边栏添加日期一言
- Java获取几天后的日期详解编程语言
- MySQL: Defining Dates and Their Formats(mysql定义日期)
- 格式化MySQL日期:从函数中获得有用结果(mysql格式化日期函数)
- MySQL日期格式的处理方法(日期格式mysql)
- MySQL 时间戳转换为日期的简单方法(mysql时间戳转日期)
- 如何在Oracle中取得最小日期(oracle取最小日期)
- 日期轻松取得Oracle今天的日期(oracle取今天)
- MSSQL查询实现快速显示当前日期的星期(显示日期的星期mssql)
- MySQL 数据库如何处理上传日期(mysql 上传日期)
- 一个简单横向javascript日期控件
- 浅谈c#.net中巧用ToString()将日期转成想要的格式