Ich würde gerne das Jahr aus einem Datum mit Jahr 1000000 rausextrahieren und schaffe es nicht.
select '1000000-01-01'::date; --> 1000000-01-01 -> ok!
select extract(year from ('1000000-01-01'::date)) -> date out of range for timestamp
select to_char('1000000-01-01'::date, 'YYYY') -> date out of range for timestamp
Der interpreter scheint das date in einen timestamp umzuwandeln.
Kann mir jemand helfen, wie ich das Jahr aus Daten rausextrahiere, deren Jahre gross sind.
The extract function retrieves subfields such as year or hour from date/time values. source must be a value expression of type timestamp, time, or interval. (Expressions of type date are cast to timestamp and can therefore be used as well.)
Was Dir bleibt wären Stringfunktionen. Aber mal ehrlich: bis das relevant ist ist noch etwas hin …
Hmm, ich kenne solche Datumswerte nur um Werte zu speichern die “in der Zukunft” liegen. Wenn das hier der Fall ist, wäre infinity evtl. die bessere Wahl.