选择日期字段在给定月份和年份中的行

ori*_*der 16 postgresql date

我的SQL表看起来像这样:

id (int) | date (date) | text1 (varchar) | text2 (varchar)
Run Code Online (Sandbox Code Playgroud)

我想选择其日期适合给定月份和年份的行,而不管当天.月份和年份都在select语句中以整数形式给出.所以缺少的是where子句.也许extract()是我正在寻找的东西,但我不知道如何使用它与两个整数,例如201102.

Mar*_*ers 37

你可以使用提取:

SELECT * FROM yourtable
WHERE EXTRACT(month FROM "date") = 2
AND EXTRACT(year FROM "date") = 2011
Run Code Online (Sandbox Code Playgroud)

但在这种情况下你也可以这样做:

SELECT * FROM yourtable
WHERE "date" >= '2011-02-01' AND "date" < '2011-03-01'
Run Code Online (Sandbox Code Playgroud)

  • 这两种解决方案之间是否存在相当大的性能差异? (2认同)