ZONE appears in two main contexts:1. Data type declaration – TIMESTAMP WITH TIME ZONE and TIME WITH TIME ZONE store an absolute moment in time by attaching a time-zone offset to the value.2. AT TIME ZONE clause – converts a timestamp to a different time zone or interprets a timestamp without zone information as belonging to a given zone.When used in a column definition, ZONE indicates that the column will always keep track of the offset from UTC. When used in a query expression, ZONE triggers a run-time conversion that adjusts the underlying epoch value and returns either a timestamp with zone or without zone, depending on the dialect.Caveats:- ZONE does not by itself set the session time zone. Use SET TIME ZONE for that.- Literals such as 'UTC', 'America/Los_Angeles', or numeric offsets like '+02' must be single-quoted.- Daylight-saving rules follow the IANA time-zone database, so historical values can shift if the database is upgraded.
zone_literal
(text) - An IANA zone name (e.g., 'UTC', 'Europe/Berlin') or a numeric offset (e.g., '+05|||30').AT TIME ZONE, TIMESTAMP, DATE, SET TIME ZONE, TIME WITH TIME ZONE, EXTRACT
SQL:1999
WITH TIME ZONE stores the absolute moment (UTC plus offset). WITHOUT TIME ZONE stores only the local wall clock value with no zone context.
Use SET TIME ZONE 'America/New_York'; This affects how TIMESTAMP WITHOUT TIME ZONE values are interpreted and displayed.
Yes. Numeric offsets like '+05:30' are valid zone literals, but they lack daylight-saving context.
Keyword recognition is case-insensitive, but zone literals are case-sensitive in some systems (e.g., 'UTC' vs 'utc').