获取基于网络中给定日期的所有行 sql

Get all rows based on given date in web sql

我有一个包含多个日期列(开始日期、结束日期)的事件 Table。我需要根据给定日期查询和获取记录。 例如,如果我 运行 我的查询以 5 月 11 日星期六作为结束日期,它应该 return ID 为 8 和 12 的行

我尝试了以下查询但没有结果

SELECT * 
FROM EVENTS 
WHERE startDate BETWEEN '2019-05-09 00:00:00.00' AND '2019-05-09 23:59:59.999'

如果您的列存储为日期,您应该能够使用:

WHERE startDate >= DATE '2019-05-09' AND
      startDate < DATE '2019-05-10'

但是,您的日期看起来像字符串。我建议首先修复数据模型。但是,您也可以使用字符串操作:

WHERE startDate LIKE '%May 09 2019%'

您日期的数据类型似乎是给定格式的时间戳。如果你想查询你的数据库,你应该首先将你的字符串转换成时间戳或你想要的任何数据类型。

现在,似乎假设你的开始日期和结束日期的数据类型是时间戳,试试

SELECT * 
FROM EVENTS 
WHERE startDate 
BETWEEN TO_TIMESTAMP('2019-05-09 00:00:00.00','YYYY-MM-DD HH24:MI:SS.FF') 
AND TO_TIMESTAMP('2019-05-09 23:59:59.999','YYYY-MM-DD HH24:MI:SS.FFF')