[sql] 오늘 날짜에서 2 개월을 뺀 SQL 쿼리

입력 날짜가 2 개월보다 오래된 테이블의 모든 레코드를 선택하고 싶습니다.

내가 어떻게 할 수 있을지 알아?

나는 아직 아무것도 시도하지 않았지만이 시점에 있습니다.

SELECT COUNT(1) FROM FB WHERE Dte > GETDATE()



답변

SQL Server를 사용하는 경우 다음을 시도하십시오.

SELECT * FROM MyTable
WHERE MyDate < DATEADD(month, -2, GETDATE())

업데이트에 따라 다음과 같습니다.

SELECT * FROM FB WHERE Dte <  DATEADD(month, -2, GETDATE())


답변

SELECT COUNT(1) FROM FB
WHERE Dte > DATE_SUB(now(), INTERVAL 2 MONTH)


답변

이 같은 것이 당신을 위해 일할 것입니까?

SELECT * FROM FB WHERE Dte >= DATE(NOW() - INTERVAL 2 MONTH);


답변

SELECT COUNT(1)
FROM FB
WHERE
    Dte BETWEEN CAST(YEAR(GETDATE()) AS VARCHAR(4)) + '-' + CAST(MONTH(DATEADD(month, -1, GETDATE())) AS VARCHAR(2)) + '-20 00:00:00'
        AND CAST(YEAR(GETDATE()) AS VARCHAR(4)) + '-' + CAST(MONTH(GETDATE()) AS VARCHAR(2)) + '-20 00:00:00'


답변

변수 선언을 사용하는 TSQL, 대안. (쿼리의 가독성을 향상시킬 수 있음)

DECLARE @gapPeriod DATETIME = DATEADD(MONTH,-2,GETDATE()); --Period:Last 2 months.

SELECT
        *
    FROM
        FB as A
    WHERE
        A.Dte <= @gapPeriod;                               --only older records.


답변