sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man får gårdagens datum i PostgreSQL

Problem:

Du vill visa gårdagens datum (utan tid) i en PostgreSQL-databas.

Lösning 1:

SELECT current_date - INTEGER '1' AS yesterday_date;

Om vi ​​antar att det är 2020-09-24 idag är resultatet:

yesterday_date
2020-09-23

Diskussion:

För att få gårdagens datum måste du subtrahera en dag från dagens datum. Använd current_date för att få dagens datum. Observera att du inte behöver hakparenteser i slutet av current_date fungera. I PostgreSQL kan du subtrahera eller lägga till valfritt antal dagar med INTEGER nyckelord. Här, eftersom du behöver subtrahera en dag, använder du - INTEGER '1' för att få gårdagens datum. Observera att resultatet av denna beräkning fortfarande har kolumntypen date .

Lösning 2:

SELECT (current_date - INTERVAL '1 day')::date AS yesterday_date;

Om vi ​​antar att det är 2020-09-24 idag är resultatet:

yesterday_date
2020-09-23

Diskussion:

Få dagens datum med current_date . Du måste subtrahera ett intervall på en dag från det aktuella datumet. För att göra detta, använd INTERVAL nyckelord, som skapar vilket tid-/datumintervall du vill (här, '1 day'). , vilket i PostgreSQL är detsamma som 24 timmar). Subtraherar INTERVAL '1 day' från dagens datum kommer att resultera i en kolumn formaterad som en tidsstämpel, så du måste casta den till date . Det snabbaste sättet att göra det i PostgreSQL är att lägga till ::date till hela uttrycket (kom ihåg att omge uttrycket inom parentes).

Naturligtvis kan du gå tillbaka med vilket tidsintervall som helst lika enkelt. Här är ett exempel:

SELECT (current_date - INTERVAL '3 months 10 days')::date;

En INTERVAL kan också läggas till till en dejt. Så här är ett sätt om du vill få morgondagens datum:

SELECT (current_date + INTERVAL '1 day')::date AS tomorrow_date;

  1. Uppdatera en MySQL-tabell med värden från en annan

  2. Förstå Java Support for Persistence med JPA

  3. Psql kunde inte ansluta till servern:Ingen sådan fil eller katalog, fel 5432?

  4. Hur man använder delsträngsfunktionen i PostgreSQL och Redshift