Similar to the past, I still introduce a daily development encountered in the knowledge points, I would like to record, but also hope to help some friends.
This time I'm going to go through the SQL function to return the date data that you entered in the two points in time.
As follows:
Execute function: SELECT * FROM [Fn_runselectday] (' 2015-01-01 ', ' 2015-01-11 ')
The specific functions are as follows:
-- =============================================
--Call: SELECT * FROM [Fn_runselectday] (' 2015-01-01 ', ' 2015-01-11 ')
--Create date:2015-01-03
--Description: Returns date data for a custom time period
-- =============================================
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>[email protected])
BEGIN
INSERT into @tab
SELECT Xsdae = CONVERT (VARCHAR), DATEADD (Day, @i, @enddate), 23),
Sort = @i
SET @[email protected]
END
RETURN
END
if friends think that may be used later, welcome reprint, of course, can also recommend, thank you.
PS: This blog post is written using Windows Live Writer 2012, and the format effect may not be good.
Original SQL table-valued functions: Returns date data for a custom time period