根据Web SQL中的给定日期获取所有行

时间:2019-05-10 02:18:00

标签: javascript sql html5 oracle-sqldeveloper web-sql

我有一个带有多个“日期”列(“开始日期”,“结束日期”)的事件表。我需要根据给定的日期查询并获取记录。 例如,如果我以5月11日(星期六)作为endDate运行查询,则它应返回ID为8和12的行

enter image description here

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

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

2 个答案:

答案 0 :(得分:1)

如果您将列存储为日期,则应该可以使用:

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

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

WHERE startDate LIKE '%May 09 2019%'

答案 1 :(得分:0)

您日期的数据类型似乎是带有给定格式的时间戳。如果要查询数据库,则应首先将字符串转换为时间戳或所需的任何数据类型。

现在,似乎假设您的startDate和endDate的数据类型是时间戳,请尝试

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')