news 2026/6/10 19:14:30

HighGo Database中的seg模块

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HighGo Database中的seg模块

文章目录

  • 文档用途
  • 详细信息

文档用途

seg模块提供了一种数据类型seg,它用于表示线段或者浮点区间。seg可以表示区间端点中的不确定性,这使得它在表示实验测量的数据时特别有用。

详细信息

进行几何学测量时,由于不确定性和随机性,测量值可能是表示特定条件的区间,例如一个温度范围区间。

举个例子,进行几何学测量时,我们把使用仪器测出的值放到数据库中。当以后再从数据库中取出这个值时,得到的结果可能会出现差异。

首先创建扩展:

highgo=# create extension seg;CREATEEXTENSION

假设当时存入数据库中几个精确的高度值,再次查询时,得到的值的精确度可能会不同。

highgo=# create table measurement(height float8);CREATETABLEhighgo=# insert into measurement values(4.30);INSERT01highgo=# insert into measurement values(4.56);INSERT01highgo=# select * from measurement;height--------4.34.56(2rows)

值得注意的是,在测量学领域里,4.30和4.3可能表示的是截然不同的意义。4.30可能被包含于4.3这个区间之内,所以通常我们不希望这些不同的数据项看起来是相同的。

此时,如果使用seg模块提供的seg数据类型,就可以记录带有任意可变精度的区间。这是非常有用的,每个数据元素会记录它自己的精度。

举例如下:

用seg数据类型表示带精度的pH值区间:

highgo=# select '3.25 .. 3.50' :: seg as "pH";pH--------------3.25..3.50(1row)

在seg这种数据类型中,一个区间的外部表达是一个或两个浮点数,中间使用 “…” 或 “…” 分隔。也可以使用一个中心点加上(或减去)一个偏差值的方式,例如‘5(±)2’。

作为seg的一种完整性检查,如果区间的下界比上界大,会导致报错。例如 “10 … 2”

highgo=# select '10 .. 2' :: seg as "rank"; ERROR: 22023: swapped boundaries: 10 is greater than 2 LINE 1: select '10 .. 2' :: seg as "rank"; ^ seg值被内部存储为32位浮点数对。这意味着超过7位有效数字的数会被截断,有7位或7位以下有效数字的数会保持原有的精度。 highgo=# select '3.1415926535 .. 3.572729128219' :: seg as "measurement"; measurement -------------------- 3.14159 .. 3.57273 (1 row)

如果查询返回了0.00,我们需要明确的是尾部的零不是人工设置的,而是反映了原始数据的精度。数字中开头部分的0不影响精度。例如,值0.00045会被认为只有两位有效数字。

还有一个需要注意的问题是:将(±)转换成常规范围的机制在确定边界的有效位数时并不完全准确。

highgo=# select '4(+-)2' :: seg as seg;seg--------2..6(1row)highgo=# select '10(+-)1' :: seg as "range";range--------------9.0..1.1e1(1row)

可以看到,第二次查询的结果,转换后的边界有效位数会增加。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 15:26:55

好写作AI:从数据到观点——AI在实证研究中的逻辑链条构建

当数据沉默时,谁能为它发声?面对满屏的实验数据、调查统计和案例分析,许多学生陷入相似的困境:“我的数据说明了什么?”“如何让这些数字形成有说服力的论证?”实证研究的核心挑战,往往不在于数…

作者头像 李华
网站建设 2026/6/10 15:35:10

书匠策AI:教育论文数据分析的“时空折叠器”,让你的研究穿越未来

在教育研究的宇宙中,数据是星辰,分析是望远镜,而结论则是我们试图捕捉的遥远星系。但传统数据分析工具像一台老式天文台——操作复杂、视野有限,研究者常被困在“清洗数据”“调试代码”“选择图表”的琐碎中,真正的研…

作者头像 李华
网站建设 2026/6/10 2:43:01

书匠策AI:教育论文的“数据炼金术士”,让数字开口说故事的秘密武器——官网:http://www.shujiangce.com | 微信公众号搜一搜“书匠策AI”

在学术写作的江湖里,数据是“武林秘籍”,而数据分析则是“绝世武功”。但面对SPSS的报错、Python的代码、R语言的版本兼容问题,许多教育研究者常陷入“数据焦虑”:明明有满脑子的理论,却被技术门槛卡在论文的“最后一公…

作者头像 李华
网站建设 2026/6/10 15:32:58

Linux 命令:uniq

概述 uniq 命令是对连续重复行去重/统计的工具,常与 sort 配合使用(先排序让重复行连续,再去重),核心用于文本去重、统计重复行出现次数,是处理日志、数据清单的高频组合工具,注意:直…

作者头像 李华
网站建设 2026/6/10 15:31:32

当教育论文遇上“数据炼金师”:书匠策AI如何把数字变成学术金矿

在学术江湖里,论文写作是一场“数据与逻辑的双重冒险”。有人为收集数据跑断腿,有人被统计代码折磨到崩溃,更有人对着满屏数字发呆,完全不知道如何让它们“开口说话”。别慌!今天我们要认识一位教育领域的“数据炼金师…

作者头像 李华
网站建设 2026/6/10 17:05:19

uniapp微信小程序php python安卓系统的nodejs校园二手物品交换平台APP

文章目录 技术栈与平台架构核心功能模块数据库设计接口与安全部署与性能扩展性考虑 系统设计与实现的思路主要技术与实现手段源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 技术栈与平台架构 uniapp作为跨平台开发框架,支持…

作者头像 李华