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 的必要不充分条件是其值介于 0x08001fffffffffff0x08ff3b6db6db6db6 之间。 如果两个输入单元格 ID 中有任何一个不是有效的单元格 ID,则表示该函数的行为未定义。

错误条件

  • 如果 h3CellId1Exprh3CellId2Expr 是无法转换为 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