pears.dateToNearest

Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.

Original SQL

CREATE FUNCTION "pears"."dateToNearest"( 
  /* Application Maintained Function / Procedure - DO NOT EDIT*/
  IN "pDate" DATE,IN "pUnit" CHAR(1) ) 
RETURNS DATE
deterministic
BEGIN
  CASE "pUnit"
  WHEN 'd' THEN
    RETURN "pDate"
  WHEN 'w' THEN
    while "dow"("pDate") <> 2 loop
      SET "pDate" = "pDate"-1
    END loop;
    RETURN "pDate"
  WHEN 'm' THEN
    RETURN "ymd"("year"("pDate"),"month"("pDate"),1)
  WHEN 'q' THEN
    RETURN "ymd"("year"("pDate"),"floor"(("month"("pDate")-1)/3)*3+1,1)
  WHEN 'y' THEN
    RETURN "ymd"("year"("pDate"),1,1)
  END CASE
END