Database
 sql >> Baza danych >  >> RDS >> Database

Jak uzyskać wczorajszą datę w T-SQL

Problem:

Chcesz wyświetlić wczorajszą datę (bez czasu) w bazie danych SQL Server.

Rozwiązanie:

SELECT DATEADD(day, -1, CAST(GETDATE() AS date)) AS YesterdayDate;

Zakładając, że dzisiaj jest 24.09.2020 r., wynik jest następujący:

yesterday_date
23.09.2020

Dyskusja:

Aby uzyskać wczorajszą datę, musisz odjąć jeden dzień od dzisiejszej daty. Użyj GETDATE() aby uzyskać dzisiejszą datę (typ to datetime ) i prześlij go na date . W SQL Server możesz odjąć lub dodać dowolną liczbę dni za pomocą DATEADD() funkcja.

DATEADD() funkcja przyjmuje trzy argumenty:datepart , number i date . Tutaj wartość datepart jest day , ponieważ jednostką czasu, którą chcesz odjąć, jest dzień. Drugi argument to -1 (odejmujesz 1 dzień, co jest równoznaczne z dodaniem -1 dnia). Trzeci argument to dzisiejsza data — data, od której chcesz odjąć.

Oczywiście równie łatwo można się cofnąć o dowolny przedział czasu. Oto przykład:

SELECT DATEADD(month, -5, CAST(GETDATE() AS date));

Przedział czasu można również added na randkę. Oto sposób, jeśli chcesz uzyskać jutrzejszą datę:

SELECT DATEADD(day, 1, CAST(GETDATE() AS date)) AS TomorrowDate;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 115 najważniejszych pytań do wywiadu SQL, które musisz przygotować w 2022 r.

  2. Podłączanie Talend w systemie Windows do bazy danych ODBC

  3. N-ta najwyższa pensja

  4. Zaawansowany SQL:odmiany i różne przypadki użycia instrukcji Insert T-SQL

  5. Liczba SQL