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 中的示例。
 

