获取基于网络中给定日期的所有行 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')
我有一个包含多个日期列(开始日期、结束日期)的事件 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')