postgresql 中日期范围之间的查询
本文将讨论不同类型的范围来比较 postgresql 中的日期。
postgresql 中的日期范围
默认情况下,postgresql 提供了一些范围来比较这些值。特别是,我们可以使用 daterange
和 between
来比较日期。
为了演示,让我们创建一个表并用一些数据填充它。
createtablelogger(idserialprimarykey,namevarchar(255)notnull,login_datedatenotnulldefaultcurrent_date);
输出:
postgres=# select * from logger;
id | name | login_date
---- ------- ------------
1 | jhon | 2020-06-06
2 | alice | 2022-06-06
3 | bon | 2021-06-06
4 | trude | 2020-02-02
5 | jene | 2022-02-22
6 | dan | 2022-01-20
(6 rows)
postgresql 中使用日期的间隔和差异查询日期范围
假设你想要登录到数据库的人的所有姓名(带有 id)以及他们到今天为止的天数。你只想查看过去 120 天内登录的用户。
示例代码:
selectid,name,now()-login_dateastime_spentfromloggerwherelogin_date>(current_date-interval'120 days');
在这里,你可以在间隔中输入小时、天、月和年。
输出:
id|name|time_spent---- ------ -------------------------
5|jene|21days11:44:35.7906856|dan|54days11:44:35.790685(2rows)
在 postgresql 中使用 between
查询日期范围
你可以运行下面的 sql 命令来查看谁在 2021 年和当前日期之间登录。
postgres-# where login_date between '2021-01-01' and current_date;
id | name | login_date
---- ------ ------------
3 | bon | 2021-06-06
5 | jene | 2022-02-22
6 | dan | 2022-01-20
(3 rows)
这里日期数据类型的格式是 yyyy-mm-dd。因此,当你尝试插入或编写查询时,请确保使用 postgresql 数据库支持的格式。
这里是 postgresql 中日期数据类型格式的文档。
在 postgresql 中使用 daterange
类型查询日期范围
现在,假设你想查看在日期范围(例如 2021-06-06 到 2022-03-10)之间登录的用户。让我们创建查询。
select*fromloggerwhere'[2021-06-06, 2022-03-10]'::daterange@>login_date;
在这里,我们使用::daterange
,这意味着我们将范围类型转换为日期数据类型。 @>
称为范围运算符,也可用于其他不同数据类型的范围查询。
输出:
postgres-# where '[2021-06-06, 2022-03-10]'::daterange @> login_date;
id | name | login_date
---- ------ ------------
3 | bon | 2021-06-06
5 | jene | 2022-02-22
6 | dan | 2022-01-20
(3 rows)
此外,你也可以在范围内使用 current_date
。请记住,在方括号内,第一个是开始日期,第二个是范围的结束日期。
对于结束日期,你也可以写 infinity
。你可以访问网站此处了解有关日期范围的更多信息。
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
在一个 postgresql 查询中使用多个 with 语句
发布时间:2023/03/20 浏览次数:337 分类:postgresql
-
在本教程中,我们将学习如何使用多个 with 语句在 postgresql 中使用两个临时表执行查询。
发布时间:2023/03/20 浏览次数:185 分类:postgresql
-
本文介绍如何在 ubuntu 上找到 postgresql 数据库的配置文件。
发布时间:2023/03/20 浏览次数:409 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 sql 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
发布时间:2023/03/20 浏览次数:89 分类:postgresql
-
本文展示了如何列出 postgresql 上的活动连接。
在 postgresql 中使用循环
发布时间:2023/03/20 浏览次数:966 分类:postgresql
-
在 pl/sql 中,你可能需要在 postgres 中使用循环。我们可以使用 for 和 while 语句来创建循环。
发布时间:2023/03/20 浏览次数:141 分类:postgresql
-
本文介绍如何在 postgresql 中仅使用单个查询来重命名列以及更改其类型。
发布时间:2023/03/20 浏览次数:233 分类:postgresql
-
本文介绍如何在 postgresql 中使用 select 方法连接列。
发布时间:2023/03/20 浏览次数:281 分类:postgresql
-
本文展示了如何使用 case 语句并给出了 postgresql 中的示例。