in_range() — PostgreSQL date/time function

in_range(): window RANGE support. PostgreSQL date/time functions — signature, volatility, version applicability and an illustrative example.

Summary

in_range is a PostgreSQL built-in function in the Date/Time Functions group. PostgreSQL’s system catalog (pg_proc) describes it as: “window RANGE support”.

Signature

in_range has 16 documented overloaded forms:

in_range(bigint, bigint, bigint, boolean, boolean) → boolean
in_range(integer, integer, bigint, boolean, boolean) → boolean
in_range(integer, integer, integer, boolean, boolean) → boolean
in_range(integer, integer, smallint, boolean, boolean) → boolean
in_range(smallint, smallint, bigint, boolean, boolean) → boolean
in_range(smallint, smallint, integer, boolean, boolean) → boolean
in_range(smallint, smallint, smallint, boolean, boolean) → boolean
in_range(double precision, double precision, double precision, boolean, boolean) → boolean
in_range(real, real, double precision, boolean, boolean) → boolean
in_range(numeric, numeric, numeric, boolean, boolean) → boolean
in_range(date, date, interval, boolean, boolean) → boolean
in_range(timestamp, timestamp, interval, boolean, boolean) → boolean
in_range(timestamp with time zone, timestamp with time zone, interval, boolean, boolean) → boolean
in_range(interval, interval, interval, boolean, boolean) → boolean
in_range(time, time, interval, boolean, boolean) → boolean
in_range(time with time zone, time with time zone, interval, boolean, boolean) → boolean

Argument and return types are taken from the pg_proc catalog; internal type names are shown using their readable SQL spellings (for example int4 is shown as integer). (Derived from the catalog — see the linked reference for the canonical documentation.)

Classification

  • Category: Date/Time Functions
  • Kind: Function
  • Volatility: IMMUTABLE — Marked IMMUTABLE — it always returns the same result for the same arguments and can be used in indexes and other contexts that require immutability.
  • Returns: boolean

Example

Illustrative form (replace placeholder values with your own data):

SELECT in_range(42, 42, 42, true, true);

The example above is illustrative and is meant to show calling syntax only; consult the linked PostgreSQL documentation for exact semantics, edge cases and accepted argument combinations.

Version applicability

in_range is present across the surveyed releases (PostgreSQL 15, 16, 17, 18, 19). On older major versions, behaviour may differ in detail — always check the documentation for the version you run.

Related & references

Reference: PostgreSQL documentation — Date/Time Functions.