sql >> Databasteknik >  >> RDS >> Oracle

Hur man får gårdagens datum i Oracle

Problem:

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

Lösning 1:

SELECT TO_DATE(current_date - 1) AS yesterday_date
FROM dual

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 dra av en dag från idag. Använd current_date för att få dagens datum. I Oracle kan du subtrahera valfritt antal dagar genom att helt enkelt subtrahera det numret från det aktuella datumet. Här, eftersom du behöver subtrahera en dag, använder du current_date - 1 . Sedan använder du TO_DATE() funktion för att casta resultatet till kolumntypen date .

Du kan gå tillbaka med vilket antal dagar du vill mycket enkelt, t.ex. med sju dagar.

SELECT TO_DATE(current_date - 7) AS date_week_ago FROM dual

Du kan också beräkna ett datum i framtiden. Till exempel, för att få morgondagens datum, lägger du till ett till current_date :

SELECT TO_DATE(current_date + 1) AS tomorrow_date FROM dual

  1. Ersätter mysql_*-funktioner med PDO och förberedda uttalanden

  2. Returnera basdatatypen från ett SQL_variantvärde i SQL Server

  3. Är Oracles SYS_GUID() UUID RFC 4122 kompatibel?

  4. Timeout för anslutning för SQL-server