MSSQL 生成日期列表代碼
更新時(shí)間:2009年09月28日 18:05:48 作者:
MSSQL 生成日期列表的代碼,需要的朋友可以參考下。
復(fù)制代碼 代碼如下:
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 查詢?nèi)咳掌?
)
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)
相關(guān)文章
列出SQL Server中具有默認(rèn)值的所有字段的語句
上個(gè)星期我在對(duì)一個(gè)供應(yīng)商開發(fā)的數(shù)據(jù)庫按規(guī)定進(jìn)行故障排除的時(shí)候,我們需要對(duì)他們數(shù)據(jù)庫中50個(gè)表的每一個(gè)都進(jìn)行查看,以確保所有期望是默認(rèn)值的字段都被分配了默認(rèn)值。你可以想象這是一個(gè)多么令人畏懼的工作,而我立即提出了這個(gè)問題。有沒有一個(gè)比在SQL Server管理套件中打開每一個(gè)表來查看這個(gè)schema的更好方法嗎?2008-10-10SQL Server 數(shù)據(jù)庫自動(dòng)執(zhí)行管理任務(wù)
如要讓數(shù)據(jù)庫進(jìn)行自動(dòng)管理,則管理員需要預(yù)先定義一些可預(yù)測(cè)的管理任務(wù)以及這些任務(wù)發(fā)送的條件。2009-03-03Sql Server的一些知識(shí)點(diǎn)定義總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于Sql Server的一些知識(shí)點(diǎn)定義文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12