代码之家  ›  专栏  ›  技术社区  ›  erickdeoliveiraleal

选择两个日期之间的日期是给定月份的一部分的数据

  •  -1
  • erickdeoliveiraleal  · 技术社区  · 6 年前

    我的数据如下所示,我需要显示ID,其中date1和date2之间的间隔是给定的月/年参数的一部分。 2018年7月,我需要从1到7的身份证。

    date1       date2           id  
    ----------  ----------  --------
    2017-11-01  2018-08-28         1
    2018-06-05  2018-07-05         2
    2018-06-05  2019-05-07         3
    2018-06-05  2018-08-08         4
    2018-07-01  2018-07-31         5
    2018-07-07  2018-07-15         6
    2018-07-27  2018-08-05         7
    2018-06-01  2018-06-07         8
    2018-08-03  2018-09-01         9
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Livius    6 年前

    SELECT
    id
    FROM
    YOUR_TABLE
    WHERE
    date1<=YOUR_DATE_END_OF_MONTH AND date2>=YOUR_DATE_START_OF_MONTH
    

    SELECT
    id
    FROM
    YOUR_TABLE
    WHERE
    date1<='2018-07-31' AND date2>='2018-07-01'
    

    SELECT
    id
    FROM
    YOUR_TABLE
    WHERE
    EXTRACT(YEAR FROM date1)*12 + EXTRACT(MONTH FROM date1)<=2018*12 + 7 
    AND EXTRACT(YEAR FROM date2)*12 + EXTRACT(MONTH FROM date2)>=2018*12 + 7