h3_ischildof 函数

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime 11.3 LTS 及更高版本

如果第一个 H3 单元格与第二个 H3 单元格相同或者是第二个 H3 单元格的子级,则返回 true。

语法

h3_ischildof ( h3CellId1Expr, h3cellId2Expr )

参数

  • h3CellId1Expr:表示 H3 单元格 ID 的 BIGINT 表达式或十六进制 STRING 表达式。
  • h3CellId2Expr:表示 H3 单元格 ID 的 BIGINT 表达式或十六进制 STRING 表达式。

返回

BOOLEAN 类型的值,指示第一个 H3 单元格是否与第二个 H3 单元格相同或是第二个 H3 单元格的子级。

如果任一输入为 NULL,则该函数返回 NULL。 该函数对两个输入参数中的任何一个是否是有效的 H3 单元 ID 进行部分验证。 有效 H3 ID 的必要不充分条件是其值介于 0x08001fffffffffff 和 0x08ff3b6db6db6db6 之间。 如果两个输入单元格 ID 中有任何一个不是有效的单元格 ID,则表示该函数的行为未定义。

错误条件

  • 如果 h3CellId1Expr 或 h3CellId2Expr 是无法转换为 BIGINT 的 STRING 或对应于小于 0x08001fffffffffff 或大于 0x08ff3b6db6db6db6 的 BIGINT 值,则该函数返回 H3_INVALID_CELL_ID。

示例

-- Simple example taking two longs as input.
> SELECT h3_ischildof(608693241318998015, 599686042433355775);
  true

-- Simple example taking two strings as input.
> SELECT h3_ischildof('88283471b9fffff', '85283473fffffff');
  true

-- Simple example taking a long integer and a string as input.
> SELECT h3_ischildof(580260664489017343, '85283473fffffff');
  false

-- First input is an invalid H3 cell ID.
> SELECT h3_ischildof(0, 599686042433355775);
  [H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID

-- Second input is an invalid H3 cell ID.
> SELECT h3_ischildof(608693241318998015, 'xyz');
  [H3_INVALID_CELL_ID] 'xyz' is not a valid H3 cell ID