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.