Get First/Last Datetime for a date

>>Script Language and Platform: TSQL/SQL Server 2000

If you apply a DatePart function to seperate the date and time, in this case, the index will not be used (because of function usage) and your query may take too much long time.

These two functions will ease your life if you assign the returned values to two variables in use those two variables in your query with syntax.


SELECT listOfColumns
FROM MyTable
Where TransactionDateTime >= @StartDate And TransactionDateTime <= @endDate

Author: Anjum Niaz


SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

— Returns first moment of any date,
— usefull function to be used
— to calculated before using in
— select statement.
— Highly recommended to optimize
— queries based on datetime
— conditions

CREATE FUNCTION [GetStartDate]
(
@Date DateTime
)
RETURNS DateTime
AS
BEGIN

RETURN Convert(DateTime, Convert(VarChar(30), @Date, 102) + ” 00:00:00.000 AM”, 121)

END

GO

CREATE FUNCTION [GetEndDate]
(
@Date DateTime
)
RETURNS DateTime
AS
BEGIN

RETURN Convert(DateTime, Convert(VarChar(30), @Date, 102) + ” 11:59:59.998 PM”, 121)

END

GO



Disclaimer:
We hope that the information on these script pages is
valuable to you. Your use of the information contained in these pages,
however, is at your sole risk. All information on these pages is provided
“as -is”, without any warranty, whether express or implied, of its accuracy,
completeness, or fitness for a particular purpose…

Disclaimer Continued

Back to Database Journal Home

Latest Articles