PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Holen Sie sich das Jahrhundert aus einem Datum in PostgreSQL

In Postgres können Sie to_char() verwenden Funktion, um das Jahrhundert basierend auf einem bestimmten Datum zurückzugeben.

Verwenden Sie dazu CC als zweites Argument. Dies gibt das zweistellige Jahrhundert basierend auf dem angegebenen Datum zurück.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung.

SELECT to_char(date '2001-03-20', 'CC'); 

Ergebnis:

21

In diesem Fall liegt das Datum im 21. Jahrhundert, also bekomme ich als Ergebnis 21.

Beachten Sie, dass das 21. Jahrhundert am 01.01.2001 beginnt.

Folgendes passiert, wenn ich ein Datum davor verwende.

SELECT to_char(date '2000-03-20', 'CC'); 

Ergebnis:

20

Fügen Sie das Suffix der Ordnungszahl hinzu

Sie können th hinzufügen oder TH zum zweiten Argument, um den Ordinalindikator zum Jahrhundert hinzuzufügen.

th fügt ein kleingeschriebenes Ordinalzahl-Suffix und TH hinzu fügt ein Ordinalzahl-Suffix in Großbuchstaben hinzu.

SELECT 
  to_char(date '2001-03-20', 'CCth') AS "2001 CCth",
  to_char(date '2001-03-20', 'CCTH') AS "2001 CCTH",
  to_char(date '2000-03-20', 'CCth') AS "2000 CCth",
  to_char(date '2000-03-20', 'CCTH') AS "2000 CCTH"; 

Ergebnis:

2001 CCth | 2001 CCTH | 2000 Jh. | 2000 CCTH -----------+-----------+-----------+----------- 21 | 21. | 20. | 20.

Fügen Sie „Jahrhundert“ hinzu

Der Jahrhundertwert und sein Ordnungsindikator können jetzt bei Bedarf mit der Zeichenfolge „Jahrhundert“ verkettet werden.

SELECT 
  concat(to_char(date '2001-03-20', 'CCth'), ' Century!'); 

Ergebnis:

21. Jahrhundert!