跳到主要内容

ST_DISTANCE

引入或更新于:v1.2.555

返回两个对象之间的最小距离。对于 GEOMETRY 输入,使用欧几里得距离。对于 GEOGRAPHY 输入,使用哈弗辛距离

语法

ST_DISTANCE(<geometry_or_geography1>, <geometry_or_geography2>)

参数

参数描述
<geometry_or_geography1>参数必须是 GEOMETRY 或 GEOGRAPHY 类型的表达式,并且必须包含一个点(Point)。
<geometry_or_geography2>参数必须是 GEOMETRY 或 GEOGRAPHY 类型的表达式,并且必须包含一个点(Point)。
备注
  • 如果一个或多个输入点为 NULL,则返回 NULL。
  • 如果两个输入的 GEOMETRY 或 GEOGRAPHY 对象具有不同的 SRID,则函数会报告错误。

返回类型

Double。

示例

GEOMETRY 示例

SELECT
ST_DISTANCE(
TO_GEOMETRY('POINT(0 0)'),
TO_GEOMETRY('POINT(1 1)')
) AS distance

┌─────────────┐
│ distance │
├─────────────┤
1.414213562
└─────────────┘

GEOGRAPHY 示例

SELECT
ST_DISTANCE(
ST_GEOGFROMWKT('POINT(0 0)'),
ST_GEOGFROMWKT('POINT(1 0)')
) AS distance

╭──────────────────╮
│ distance │
├──────────────────┤
111195.080233533
╰──────────────────╯
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验