postgresql查询一段时间内每天指定时间段内的数据的方法:1、使用 extract() 函数;2、使用 created_at::time 提取时间部分。使用 extract() 函数是指使用extract(hour from created_at) 提取 created_at 的小时值。
SELECT *
FROM your_table
WHERE created_at >= '2023-05-01'
AND created_at < '2023-06-01' AND extract(hour from created_at) >= 8
AND extract(hour from created_at) < 18;
查询语句中,我们使用了 WHERE 条件来筛选符合条件的数据。created_at 表示数据记录的时间,我们要查询的是在 2023 年 5 月 1 日至 6 月 1 日期间,每天时刻在上午 8 点至下午 6 点之间的数据。其中,extract(hour from created_at) 函数用于提取 created_at 的小时值,即只选取数据记录的时刻作为查询条件。我们通过从时间戳中提取小时值的方式来限制查询时间范围。如果需要查询其他时间段,可以调整这里的条件。
SELECT *
FROM your_table
WHERE created_at >= '2023-05-01'
AND created_at < '2023-06-01' AND created_at::time >= '08:00:00'
AND created_at::time < '18:00:00';
这个查询语句与前面的语句相比,少了 extract() 函数,而是直接使用了 created_at::time 来提取时间部分,即只选取数据记录的时刻作为查询条件。同时,我们也不再使用时刻的小时值作为条件,而是直接使用具体的时间字符串表示时间范围。需要注意的是,在这个查询语句中,我们不使用 BETWEEN 关键字来处理时间范围。这是因为 BETWEEN 关键字会包含范围边界的数值,而我们实际上希望查询的时刻所处的时间范围是开区间,因此使用 < 和 >= 操作符更为合适。
PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 开发者把它念作 post-gress-Q-L。PostgreSQL 的 Slogan 是 “世界上非常先进的开源关系型数据库”。
默认情况下 PostgreSQL 安装完成后,自带了一个命令行工具 SQL Shell(psql)。Linux 系统可以直接切换到 postgres 用户来开启命令行工具:
# sudo -i -u postgres
Windows 系统一般在它的安装目录下:Program Files → PostgreSQL 11.3 → SQL Shell(psql)。Mac OS 我们直接搜索就可以了找到。
进入命令行工具,我们可以使用 \help 来查看各个命令的语法 :
postgres-# \help <command_name>
例如,我们查看下 select 语句的语法:
postgres=# \help SELECT Command: SELECT Description: retrieve rows from a table or view Syntax: [ WITH [ RECURSIVE ] with_query [, ...] ] SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] [ * | expression [ [ AS ] output_name ] [, ...] ] [ FROM from_item [, ...] ] [ WHERE condition ] [ GROUP BY grouping_element [, ...] ] [ HAVING condition [, ...] ] [ WINDOW window_name AS ( window_definition ) [, ...] ] [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ] [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ] [ LIMIT { count | ALL } ] [ OFFSET start [ ROW | ROWS ] ] [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ] [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF table_name [, ...] ] [ NOWAIT | SKIP LOCKED ] [...] ] from_item 可以是以下选项之一: [ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
延伸阅读1:PostgreSQL缺点
从 Postgres 开始,PostgreSQL 就经受了多次变化。首先,早期的 PostgreSQL 继承了几乎所有 Ingres, Postgres, Postgres95 的问题:过于学院味,因为首先它的目的是数据库研究,因此不论在稳定性,性能还是使用方方面面,长期以来一直没有得到重视,直到 PostgreSQL 项目开始以后,情况才越来越好,PostgreSQL 已经完全可以胜任任何中上规模范围内的应用范围的业务。其次,PostgreSQL 的确还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能 等提高数据库性能的机制等。
最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台:织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。