Sql 从数据库中获取从今天起两周的日期
我在postgresql数据库中有一些日期。我想找出从今天到未来两周或14天的日期。如何找到当前日期和未来14天之间的日期?此查询不起作用。 我在数据库中有日期格式2019-12-26Sql 从数据库中获取从今天起两周的日期,sql,postgresql,Sql,Postgresql,我在postgresql数据库中有一些日期。我想找出从今天到未来两周或14天的日期。如何找到当前日期和未来14天之间的日期?此查询不起作用。 我在数据库中有日期格式2019-12-26 "SELECT work_date FROM USERS_SCHEDULE WHERE user_id = 11 AND data(now() +14)"; 只需将天数添加到日期,即可设置所需的限制日期 样本数据 CREATE TABLE users_schedule (work_date DATE); INS
"SELECT work_date FROM USERS_SCHEDULE WHERE user_id = 11 AND data(now() +14)";
只需将天数添加到日期,即可设置所需的限制日期 样本数据
CREATE TABLE users_schedule (work_date DATE);
INSERT INTO users_schedule
SELECT generate_series(CURRENT_DATE, DATE '2020-01-31', '1 day');
查询(当前日期和3天后之间的日期)
如果您的意思是希望在一个时间间隔内获得所有可能的日期,请查看:
使用
Mysql和postgresql是两种不同的数据库产品,具有不同的sql实现。请指出问题中包含的代码有什么问题。@Maw我的回答对您有帮助吗?回顾:虽然此代码可以回答问题,但提供有关此代码为什么和/或如何回答问题的其他上下文可提高其长期价值。我建议您检查SO以及来自的全面版本。@AlekseyPotapov在我的问题中除了语法版本外,什么都没有。所以这个答案的值最初是零。
CREATE TABLE users_schedule (work_date DATE);
INSERT INTO users_schedule
SELECT generate_series(CURRENT_DATE, DATE '2020-01-31', '1 day');
SELECT work_date FROM users_schedule
WHERE work_date BETWEEN CURRENT_DATE AND CURRENT_DATE + 3;
work_date
------------
2019-12-26
2019-12-27
2019-12-28
2019-12-29
(4 rows)
SELECT generate_series(DATE '2016-08-01', DATE '2016-08-14', '1 day');
generate_series
------------------------
2016-08-01 00:00:00+02
2016-08-02 00:00:00+02
2016-08-03 00:00:00+02
2016-08-04 00:00:00+02
2016-08-05 00:00:00+02
2016-08-06 00:00:00+02
2016-08-07 00:00:00+02
2016-08-08 00:00:00+02
2016-08-09 00:00:00+02
2016-08-10 00:00:00+02
2016-08-11 00:00:00+02
2016-08-12 00:00:00+02
2016-08-13 00:00:00+02
2016-08-14 00:00:00+02
(14 rows)
SELECT generate_series(CURRENT_DATE, DATE '2019-12-31', '1 day');
generate_series
------------------------
2019-12-26 00:00:00+01
2019-12-27 00:00:00+01
2019-12-28 00:00:00+01
2019-12-29 00:00:00+01
2019-12-30 00:00:00+01
2019-12-31 00:00:00+01
(6 rows)