오늘 날짜에서 30 일 전 날짜를 가져 오는 방법


82

오늘 30 일 전의 SQL을 어떻게 얻습니까?


5
어떤 SQL DB를 사용하십니까? MS SQL? MySQL? 신탁?
hgulyan

3
편집 : 이전 질문에 따르면 분명히 ms sql입니다.
hgulyan

답변:


131

T-SQL

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

select @now, @thirtydaysago

또는 더 간단하게

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

( BOL / MSDN의 DATEADD )

MYSQL

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

( ElectricToolbox.com에서 더 많은 DATE_ADD 예제 )


방금 깨달은 것은 T-Sql (Sql Server)로 작성되어 있습니다. MySql에 대한 답변이 필요하면 SELECT DATE_ADD (NOW (), INTERVAL -30 DAY)와 같습니다.
amelvin

1
답변에 다음을 추가하십시오.)
hgulyan

MySQL에서는 DATE_SUB (NOW (), INTERVAL 30 DAY)도 작동합니다.
radtek

15

MS SQL Server에서는 다음과 같습니다.

SELECT getdate() - 30;


1
Gaffi의 차이점은 무엇입니까? 편집이 필요한 이유는 무엇입니까?
Merin Nakarmi 2012-08-23

1
원본 버전과 편집 된 버전의 유일한 차이점은 후자가 <code>태그를 사용한다는 것입니다. :)
Sk8erPeter

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

예.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.