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

81

Wie bekommt man die 30 Tage vor heute in SQL.

Innova
quelle
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 )

Amelvin
quelle
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;

Merin Nakarmi
quelle
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()); 
Ashley2605
quelle
1

Versuchen Sie, dies zu Ihrer whereKlausel hinzuzufügen :

dateadd(day, -30, getdate())
Chester Porcioncula Velasco
quelle