SQL query for today's date minus two months

前端 未结 5 1262
天命终不由人
天命终不由人 2020-12-12 15:40

I want to select all the records in a table where their date of entry is older then 2 months.

Any idea how I can do that?

I haven\'t tried anything yet but I

相关标签:
5条回答
  • 2020-12-12 16:21

    Would something like this work for you?

    SELECT * FROM FB WHERE Dte >= DATE(NOW() - INTERVAL 2 MONTH);
    
    0 讨论(0)
  • 2020-12-12 16:23
    SELECT COUNT(1) FROM FB 
    WHERE Dte > DATE_SUB(now(), INTERVAL 2 MONTH)
    
    0 讨论(0)
  • 2020-12-12 16:25

    TSQL, Alternative using variable declaration. (it might improve Query's readability)

    DECLARE @gapPeriod DATETIME = DATEADD(MONTH,-2,GETDATE()); --Period:Last 2 months.
    
    SELECT 
            *
        FROM 
            FB as A
        WHERE
            A.Dte <= @gapPeriod;                               --only older records.
    
    0 讨论(0)
  • 2020-12-12 16:27

    If you are using SQL Server try this:

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

    Based on your update it would be:

    SELECT * FROM FB WHERE Dte <  DATEADD(month, -2, GETDATE())
    
    0 讨论(0)
  • 2020-12-12 16:40
    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'
    
    0 讨论(0)
提交回复
热议问题