# Date out of range for timestamp

**URL:** <https://www.pg-forum.de/t/date-out-of-range-for-timestamp/12261>\
**Category:** PL/pgSQL\
**Created:** [27. Mai 2021 um 06:23 UTC](https://www.pg-forum.de/t/date-out-of-range-for-timestamp/12261 "2021-05-27T06:23:50Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mcflysoft](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/m/f9ae1b/32.png) [@mcflysoft](https://www.pg-forum.de/u/mcflysoft)\
**Post date:** [27. Mai 2021 um 06:23 UTC](https://www.pg-forum.de/t/date-out-of-range-for-timestamp/12261/1 "2021-05-27T06:23:50Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![akretschmer](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@akretschmer](https://www.pg-forum.de/u/akretschmer)\
**Post date:** [27. Mai 2021 um 06:43 UTC](https://www.pg-forum.de/t/date-out-of-range-for-timestamp/12261/2 "2021-05-27T06:43:04Z")

</div>

ein Blick in die Doku:

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 …

---

<div class="post-metadata">

**Author:** ![mcflysoft](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/m/f9ae1b/32.png) [@mcflysoft](https://www.pg-forum.de/u/mcflysoft)\
**Post date:** [27. Mai 2021 um 07:14 UTC](https://www.pg-forum.de/t/date-out-of-range-for-timestamp/12261/3 "2021-05-27T07:14:27Z")

</div>

Danke für die Antwort. Ich habs vermutet, dass es nur mit basteln geht. Mit split\_part :📅:text krieg ich es natürlich hin, aber sehr unschön.

Mit “bis das relevant ist ist noch etwas hin…” nehme ich an, sprichst Du das Datum an.  
In meinem Fall kommen diese Daten berechtigter Weise vor.

---

<div class="post-metadata">

**Author:** ![castorp](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/c/e99b99/32.png) [@castorp](https://www.pg-forum.de/u/castorp)\
**Post date:** [27. Mai 2021 um 08:08 UTC](https://www.pg-forum.de/t/date-out-of-range-for-timestamp/12261/4 "2021-05-27T08:08:18Z")

</div>

> [@mcflysoft](#):
>
> In meinem Fall kommen diese Daten berechtigter Weise vor.

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.

---

<div class="post-metadata">

**Author:** ![system](https://www.pg-forum.de/uploads/default/original/1X/dc97a981dd26692d5fb52e8b8fc7c090d7b9559a.png) [@system](https://www.pg-forum.de/u/system)\
**Post date:** [26. Juli 2021 um 08:08 UTC](https://www.pg-forum.de/t/date-out-of-range-for-timestamp/12261/5 "2021-07-26T08:08:53Z")

</div>

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.
