Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread LIB - func - IsLastYear.sql
Mon, Feb 6 2012 12:26 PMPermanent Link

Lucian

CREATE FUNCTION "IsLastYear" (
IN "ADate" DATE)
RETURNS BOOLEAN
BEGIN
 DECLARE Result BOOLEAN DEFAULT False;
 DECLARE EndDate, StartDate DATE;
 DECLARE iYear INTEGER;

 SET EndDate = CURRENT_DATE;
 SET iYear = EXTRACT(YEAR, EndDate)-1;
 SET StartDate = CAST(CAST(iYear AS VARCHAR) + '-01-01' AS DATE);
 SET EndDate = CAST(CAST(iYear AS VARCHAR) + '-12-31' AS DATE);

 IF ADate BETWEEN StartDate AND EndDate THEN
   SET Result = True;
 ELSE
   SET Result = False;
 END IF;

 RETURN Result;
END

DESCRIPTION 'Boolean function to return TRUE if the given date belongs to last year.'
Wed, Feb 8 2012 3:18 AMPermanent Link

David Cornelius

Cornelius Concepts

Avatar

There are some nice shortcuts in EDB. Consider this alternative.

CREATE FUNCTION "IsLastYear" (IN "ADate" DATE)
RETURNS BOOLEAN
BEGIN
 RETURN (EXTRACT(YEAR FROM ADate) = EXTRACT(YEAR FROM CURRENT_DATE) - 1);
END
Image