PostgreSQL circle 数据类型介绍

PostgreSQL 是一款广泛使用的开源关系型数据库,提供了许多不同的数据类型。其中一个特殊的数据类型是 circle

语法

circle 数据类型表示平面上的一个圆。它的语法如下所示:

CIRCLE(point, radius)

其中,point 是一个二元组 (x, y),表示圆心的坐标。radius 是一个实数,表示圆的半径。

使用场景

circle 数据类型适合用于存储平面上的圆形区域,如地图上的搜索半径、矩形的外切圆等。它可以与其他几何类型一起使用,如点、线、多边形等。

示例

下面是两个 circle 数据类型的示例。

示例 1

假设我们有一个平面上的圆心坐标为 (3, 4),半径为 5 的圆,可以用以下 SQL 语句表示:

SELECT CIRCLE '((3, 4), 5)';

运行结果如下:

 circle
----------------
 <(3,4),5>
(1 row)

示例 2

假设我们要查询某个地点周围半径为 10 公里以内的商店。我们可以将该地点的坐标表示为一个点,然后使用 circle 数据类型表示以该点为圆心、半径为 10 公里的圆。下面是一个示例查询:

SELECT * FROM stores
WHERE CIRCLE '((10.0, 20.0), 10000)' @> point;

其中,stores 是包含商店信息的表,point 是一个点类型的变量,表示某个地点的坐标。上述查询将返回所有距离该地点不超过 10 公里的商店。

结论

circle 数据类型适合用于存储平面上的圆形区域。它可以与其他几何类型一起使用,并且可以用于各种场景,如地图上的搜索半径、矩形的外切圆等。