prosource

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

probook 2023. 4. 8. 08:40
반응형

오늘 날짜에서 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 * FROM FB WHERE Dte >= DATE(NOW() - INTERVAL 2 MONTH);

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

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

SELECT 
        *
    FROM 
        FB as A
    WHERE
        A.Dte <= @gapPeriod;                               --only older records.
SELECT COUNT(1) FROM FB 
WHERE Dte > DATE_SUB(now(), INTERVAL 2 MONTH)

SQL Server에서 다음을 사용합니다.

SELECT 

DATEADD(MONTH,-2,GETDATE()) '- 2 months'

FROM MyTable
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'

언급URL : https://stackoverflow.com/questions/5425627/sql-query-for-todays-date-minus-two-months

반응형