我尝试将记录放在我表格中的所有年份的两个日期(月和日)之间。 我的表包含50年的记录。
我可以这样做一年:
SELECT*
FROM mytable
WHERE "Date" BETWEEN {D '1700-05-01'} AND {D '1700-07-31'};
答案 0 :(得分:2)
在标准SQL中:
SELECT *
FROM mytable
WHERE EXTRACT (month FROM "Date") BETWEEN 5 AND 7
AND EXTRACT (day FROM "Date") BETWEEN 1 AND 31;
根据您的RDBMS,可能会有更简单的答案。
请考虑将日期字段命名为"Date"
以外的其他字段,通常是保留关键字。
修改:在MS Access中,使用EXTRACT
功能代替DatePart
:
DatePart("m", "Date")
DatePart("d", "Date")
如果您唯一想要的是"所有年份的所有五月份",那么您可以忘记"每天提取"这个答案的一部分,每月只提取一次。
编辑: 18世纪前五十年中所包含的所有记录
SELECT *
FROM mytable
WHERE EXTRACT (year FROM "Date") BETWEEN 1701 AND 1750
AND EXTRACT (month FROM "Date") = 5;
了解到,在MS-Access中,EXTRACT (year FROM "Date")
为DatePart("yyyy", "Date")
,EXTRACT (month FROM "Date")
为DatePart("m", "Date")
,您现在应该能够弄明白:)
答案 1 :(得分:0)
是的,你应该可以。必须相应地编辑语法,以便不是按月和日进行,而是仅在您想要的年份之间进行。如果您希望在特定年份进行,请仅指定所需年份的1月1日至12月31日。