跟以往类似,我依旧介绍一个我日常开发遇到的知识点,谨此记录一下,也希望能帮助到一些朋友。
这次我要介绍的是通过SQL函数返回你输入的两个时间点内的日期数据。
效果图如下:
执行函数:SELECT * FROM [Fn_RunSelectDay]('2015-01-01','2015-01-11')
具体函数如下:
-- ============================================= -- 调用:SELECT * FROM [Fn_RunSelectDay]('2015-01-01','2015-01-11') -- Create date: 2015-01-03 -- Description: 返回自定义时间段的日期数据 -- ============================================= CREATE FUNCTION [dbo].[Fn_RunSelectDay] ( @begindate DATETIME , @enddate DATETIME ) RETURNS @tab TABLE ( XSDate VARCHAR(10) , Sort INT ) AS BEGIN DECLARE @num INT SELECT @num=(DATEDIFF(DAY, @begindate, @enddate)*-1)
DECLARE @i INT SET @i=0 WHILE (@i>=@num) BEGIN INSERT INTO @tab SELECT XSDae = CONVERT (VARCHAR(100), DATEADD(day, @i, @enddate), 23) , Sort = @i SET @i=@i-1 END RETURN END
如果朋友们觉得以后可能会用到的话,欢迎转载,当然也可以推荐一下,谢谢。
PS:此博文是利用Windows Live Writer 2012编写,格式效果可能不太好。
新闻热点
疑难解答