Get nearest day : Utility Function « Function Procedure Packages « Oracle PL/SQL Tutorial






SQL>
SQL> CREATE OR REPLACE FUNCTION nearestday (yourdate IN DATE, dayname IN VARCHAR2)
  2     RETURN DATE
  3  IS
  4     before_date DATE := NEXT_DAY (yourdate-7, dayname);
  5     after_date DATE := NEXT_DAY (yourdate, dayname);
  6
  7     before_diff NUMBER;
  8     after_diff NUMBER;
  9  BEGIN
 10     before_diff := yourdate - before_date;
 11     after_diff := yourdate - after_date;
 12     IF before_diff < after_diff
 13     THEN
 14        RETURN before_date;
 15     ELSE
 16        RETURN after_date;
 17     END IF;
 18  END;
 19  /

Function created.

SQL>








27.26.Utility Function
27.26.1.Get nearest day
27.26.2.Compare date offset in a function
27.26.3.Create a procedure to count employees
27.26.4.To number or null
27.26.5.Removes all numeric digits from the string passed in.
27.26.6.Generic function utilizing dynamic SQL to return the number of rows in the specified table.
27.26.7.Get the Max date
27.26.8.String between function
27.26.9.Add day to month
27.26.10.Date time calculation function
27.26.11.Table Count function
27.26.12.Word count function
27.26.13.Define your own varchar to date function
27.26.14.Get the next business day
27.26.15.Format money
27.26.16.Date calculation: business days between
27.26.17.Convert Comma-separated values to table collection
27.26.18.Function to convert celsius to fahrenheit
27.26.19.Function to convert fahrenheit to celsius
27.26.20.Get circle area