[原创]SQL表值函数:返回自定义时间段的日期数据
2015-01-14 08:41
330 查看
跟以往类似,我依旧介绍一个我日常开发遇到的知识点,谨此记录一下,也希望能帮助到一些朋友。
这次我要介绍的是通过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编写,格式效果可能不太好。
这次我要介绍的是通过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编写,格式效果可能不太好。
相关文章推荐
- [原创]SQL表值函数:返回从当前周开始往回的自定义周数
- [原创]SQL表值函数:获取从当月计算起往前自定义月份数
- [原创]SQL表值函数:把用逗号分隔的字符串转换成表格数据
- T-SQL自定义函数返回前一天或后一天日期
- sql创建 自定义函数返回当前日期所在月的第一天最后一天
- [原创]SQL 表值函数:获取从今天计算起往前自定义天数
- sql练习题1:创建函数返回某月最后一天日期,要求这个月包含指定日期
- 【Vegas原创】按自定义格式进行编号的SQL自定义函数
- SQL里利用自定义函数Group By 数据得到字符串
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!
- PL/SQL自定义:函数检查日期字符串是否合法
- T-SQL: 三个通用的与日期相关的,辅助按周(星期日是周的最后一天)汇总的自定义函数
- sql自定义函数:SF_Split,根据指定的分割符,把一个字符串分割成若干条短数据
- Sql中,按时间段取数据(时间段不包括日期)
- sql 自定义函数返回中文,数字,英文
- sql:日期操作注意的,如果以字符串转日期时的函数,因为数据量大,会出问题
- T-SQL:15个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受@@DateFirst、语言版本影响
- SQL自定义函数实现字符串截取转化为整型(主要用于对批量数据的操作)
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响
- SQL自定义函数split 将数组(分隔字符串)返回阵列(表)