用于查找某个日期范围内特定日期内存在的所有记录的SQL查询

时间:2016-11-18 07:56:12

标签: sqlite date

我手边有一个日期= 2016-12-25,我想找到这个特定日期的所有记录。数据库中的记录存储为startDate和endDate的范围。实施例

| _____名称___ | ___类_____ | ___的StartDate _____ | ___结束日期______ |

| _____数学___ | ____讲座___ | ___二○一六年十二月一十日____ | ___ 2016年12月30日____ |

所以现在使用sql查询我想用用户选择的日期2016-12-25显示这个类我不知道os StartDate和EndDate(我在用户指定的日期手头,StartDate和EndDate可以每个科目都不同)。有人可以帮帮我吗?

这会是这样的吗? 查询:选择所有StartDate和endDate之间的所有记录2016-12-25

2 个答案:

答案 0 :(得分:1)

这有效

CREATE TABLE "classes" (
    `Name`  TEXT,
    `Class` TEXT,
    `StartDate` TEXT,
    `EndDate`   TEXT
);
Insert into Classes(`Name`,`Class`,`StartDate`,`EndDate`)
values ("Maths","Lecture","2016-12-10","2016-12-30");
select * 
from Classes 
where "2016-12-20" between StartDate and EndDate;

不要忘记检查输入字符串是否以所选格式表示有效日期('YYYY-mm-DD')

答案 1 :(得分:-2)

尝试以下查询

            SELECT *
            FROM `TaleName`
            WHERE 
            StartDate >='2016-12-25' 
            AND EndDate <='2016-12-25 '