功能:返回两个日期间的时间列表
IF EXISTS (SELECT 1 FROM [dbo].SYSOBJECTS WHERE NAME = 'F_DATELIST ')
DROP FUNCTION F_DATELIST
GO
CREATE FUNCTION F_DATELIST
(
@BEGIN_DATE AS DATETIME,
@END_TIME AS DATETIME
) RETURNS @TEMPTABLE TABLE (DATE VARCHAR(10) )
AS
BEGIN
WHILE(@BEGIN_DATE <= @END_TIME)
BEGIN
INSERT INTO @TEMPTABLE(DATE)VALUES(CONVERT(VARCHAR(10),@BEGIN_DATE,20))
SET @BEGIN_DATE=@BEGIN_DATE+1
END
RETURN
END
GO
测试 用例
-- 测试语句
SELECT * FROM DBO.F_DATELIST('2009-03-30','2009-04-02')
2009-03-30
2009-03-31
2009-04-01
2009-04-02