我有包括日期栏potatoeDate的表格测试。我想通过在这个列中按日期查询来获取记录。当我按日期查询Y.AA.AAAA到X.AA.AAAA时,总是得到Y.AA.AAAA到(X-1.AA.AAA)的记录。例如,我从2017年10月1日搜索到2017年10月30日,但我得到的记录范围是2017年10月1日至29日。
我尝试了我所知道的一切,事件子查询,但没有任何帮助。
我的尝试:

    Select n1.potatoeDate
    FROM (SELECT potatoeDate from test WHERE  potatoeDate > '2017/05/07'::date) n1
    WHERE  n1.potatoeDate <= '2017/05/08'::date;

    select *
    from test
    where potatoeDate between '2017/05/07' and '2017/05/08'

    SELECT potatoeDate from test
    where
    potatoeDate >= '2017/05/07' AND
    potatoeDate <= '2017/05/08'

--little hack
    SELECT potatoeDate from test
    WHERE
    potatoeDate >= '2017/05/07'::date
    AND
    potatoeDate <= ('2017/05/08'::date)+1;

只有最后一个小的黑客查询工作。:|
有人能帮我吗?:)

最佳答案

我想potatoeDatetimestamp类型。
当您将datetimestamp进行比较时,如果timestamp只有一秒的时间,则它会更大(时间会晚些)。尝试将adate转换为timestamp并查看它在时间字段中是否有00:00:00。因此,timestamp随着时间的不同而变大。

10-04 21:39