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

Как да извадите 30 дни от дата в T-SQL

Проблем:

Искате да получите датата 30 дни преди дадена дата в T-SQL.

Пример:

Нашата база данни има таблица с име Computer с данни в колоните Id , Name и PurchaseDate .

Id Име Дата на покупка
1 Sony GX1000 20.01.2019
2 Samsung LX2000 15.04.2019
3 Dell K80 30.08.2019

Нека получим името на всеки компютър и датата 30 дни преди датата на покупката му.

Решение:

Ще използваме функцията DATEADD(), за да извадим определен брой дни от дадена дата.

	SELECT Name,
		  DATEADD(day, -30, PurchaseDate)
		    AS BeforePurchaseDate;
      FROM Computer;

Ето резултата от заявката:

Име BeforePurchaseDate
Sony GX1000 21.12.2018
Samsung LX2000 16.03.2019
Dell K80 31.07.2019

Дискусия:

Ако искате да извадите дати или часове в SQL Server, използвайте DATEADD() функция. Необходими са три аргумента. Първият аргумент е единицата дата/час – в нашия пример ние указваме ден мерна единица.

Следва стойност на единицата за дата или час . В нашия пример това е -30 , защото отнемаме 30 дни от текущата дата. Не забравяйте, че минусът означава изваждане стойността; без този знак добавяте към дадена дата.

Последният аргумент е датата, на която работим; това може да бъде колона дата/час/дата и час или всеки израз, който връща дата или час. В нашия пример използваме PurchaseDate , date колона.

Функцията връща променена дата. В нашия пример, заявката за компютър с име 'Dell K80' връща нова дата в BeforePurchaseDate колона. Оригиналната дата '2019-08-30' се променя на датата от преди 30 дни:'2018-07-31' .

Можете да използвате DATEADD() функция за всички типове данни за дата и час.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ОГРАНИЧЕНИЕ НА ВЪНШИЯ КЛЮЧ SQL:Най-доброто, лесно ръководство за начинаещи

  2. Разширени събития за SSAS

  3. SQL GROUP BY- 3 лесни съвета за групиране на резултати като професионалист

  4. 19 онлайн ресурси за изучаване на грешки в дизайна на база данни

  5. SQL урок:Решение на едно място за изучаване на SQL