sql >> Database >  >> RDS >> PostgreSQL

Haal de eeuw uit een datum in PostgreSQL

In Postgres kunt u de to_char() . gebruiken functie om de eeuw terug te geven, gebaseerd op een bepaalde datum.

Gebruik hiervoor CC als tweede argument. Dit geeft de tweecijferige eeuw terug op basis van de opgegeven datum.

Voorbeeld

Hier is een voorbeeld om te demonstreren.

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

Resultaat:

21

In dit geval is de datum in de 21e eeuw, dus ik krijg een resultaat van 21.

Merk op dat de 21e eeuw begint op 01-01-2001.

Dit is wat er gebeurt als ik een datum daarvoor gebruik.

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

Resultaat:

20

Voeg het volgnummer toe

U kunt th . toevoegen of TH aan het tweede argument om de ordinale indicator toe te voegen aan de eeuw.

th voegt een achtervoegsel aan het rangtelwoord in kleine letters toe en TH voegt een achtervoegsel toe aan het rangtelwoord in hoofdletters.

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";

Resultaat:

 2001 CCth | 2001 CCTH | 2000 CCth | 2000 CCTH 
-----------+-----------+-----------+-----------
 21st      | 21ST      | 20th      | 20TH

Voeg “Eeuw” toe

De waarde van de eeuw en de ordinale indicator kunnen nu indien nodig worden samengevoegd met de tekenreeks 'Century'.

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

Resultaat:

21st Century!

  1. Fatale fout:niet-gevangen fout:oproep naar niet-gedefinieerde functie mysql_connect()

  2. Is het veilig om gebruikersnamen en wachtwoorden in de database op te slaan?

  3. Hoe een CSV-bestand in de MySQL-tabel te importeren

  4. LOB RETENTIE