wie man die 30 Tage vor dem Datum vom heutigen Datum erhält


81

Wie bekommt man die 30 Tage vor heute in SQL.


5
Welche SQL DB verwenden Sie? MS SQL? MySQL? Orakel?
— Hgulyan

3
edit: laut deiner vorherigen frage ist es offensichtlich ms sql.
— Hgulyan

Antworten:


127

T-SQL

declare @thirtydaysago datetime
declare @now datetime
set @now = getdate()
set @thirtydaysago = dateadd(day,-30,@now)

select @now, @thirtydaysago

oder einfacher

select dateadd(day, -30, getdate())

( DATEADD auf BOL / MSDN )

MYSQL

SELECT DATE_ADD(NOW(), INTERVAL -30 DAY)

( weitere DATE_ADD-Beispiele auf ElectricToolbox.com )


Gerade realisiert, ist dies in T-SQL (SQL Server) geschrieben. Wenn die Antwort für MySQL benötigt wird, dann ist so etwas wie: SELECT DATE_ADD (NOW (), INTERVAL -30 DAY) das Äquivalent.
— Amelvin

1
— Fügen

In MySQL funktioniert auch DATE_SUB (NOW (), INTERVAL 30 DAY)
— radtek

15

In MS SQL Server ist dies:

SELECT getdate() - 30;


1
Was ist der Unterschied Gaffi? Warum denkst du, war eine Bearbeitung notwendig?
— Merin Nakarmi

Ich denke, der einzige relevante Unterschied zwischen der ursprünglichen und der bearbeiteten Version besteht darin, dass letztere das <code>Tag verwendet, das besser aussieht. :)
— Sk8erPeter

3
SELECT (column name) FROM (table name) WHERE (column name) < DATEADD(Day,-30,GETDATE());

Beispiel.

SELECT `name`, `phone`, `product` FROM `tbmMember` WHERE `dateofServicw` < (Day,-30,GETDATE()); 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.