Database
 sql >> база данни >  >> RDS >> Database

Как да получите вчерашна дата в T-SQL

Проблем:

Искате да покажете вчерашната дата (без час) в база данни на SQL Server.

Решение:

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

Ако приемем, че днес е 2020-09-24, резултатът е:

yesterday_date
23.09.2020

Дискусия:

За да получите вчерашната дата, трябва да извадите един ден от днешната. Използвайте GETDATE() за да получите днешната дата (типът е datetime ) и го прехвърляте към date . В SQL Server можете да изваждате или добавяте произволен брой дни, като използвате DATEADD() функция.

DATEADD() функцията приема три аргумента:datepart , number и date . Тук стойността на datepart е day , защото единицата за време, която искате да извадите, е ден. Вторият аргумент е -1 (изваждате 1 ден, което е същото като добавянето на -1 ден). Третият аргумент е днешната дата — датата, от която искате да извадите.

Разбира се, можете също толкова лесно да се върнете назад с произволен интервал от време. Ето един пример:

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

Може също да се added на среща. И така, ето начин, ако искате да получите утрешната дата:

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. Модел на данни за грижи за домашни любимци

  2. Друга причина да използвате NOEXPAND съвети в Enterprise Edition

  3. Подход към настройката на индекса – част 1

  4. Често срещани таблични изрази:кога и как да ги използвате

  5. Използване на драйвери на Easysoft ODBC с Informatica PowerCenter