Get First/Last Datetime for a date

February 8, 2006



>>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








The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers