Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从数据库中获取从今天起两周的日期_Sql_Postgresql - Fatal编程技术网

Sql 从数据库中获取从今天起两周的日期

Sql 从数据库中获取从今天起两周的日期,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

我在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);
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)