h3_toparent
函式
適用於: Databricks SQL Databricks Runtime 11.3 LTS 和更新版本
在指定的解析度傳回輸入 H3 儲存格的父 H3 儲存格。
語法
h3_toparent ( h3cellIdExpr, resolutionExpr )
引數
h3CellIdExpr
:BIGINT 運算式,或代表 H3 單元格標識符的十六進位 STRING 運算式。resolutionExpr
:INT 運算式,其值預期介於 和h3_resolution(h3CellIdExpr)
內含之間0
,並指定父 H3 單元格標識碼的解析度。
傳回
與表達式類型相同的值,對應至指定解析度上輸入 H3 單元格的 h3CellIdExpr
父 H3 單元格標識碼。
如果兩個輸入表達式中的任何一個為 NULL,則此函式會傳回 NULL。
函式會針對輸入自變數是否為有效的 H3 單元格標識碼執行部分驗證。 有效 H3 識別符的必要條件,但沒有足夠的條件是其值介於和0x08ff3b6db6db6db6
之間0x08001fffffffffff
。
如果輸入儲存格標識碼不是有效的儲存格標識碼,則函式的行為是未定義的。
如果的值 resolutionExpr
等於輸入 H3 單元格標識碼的解析度,則會傳回輸入 H3 單元格標識碼。
錯誤條件
- 如果
h3CellIdExpr
是無法轉換成 BIGINT 的 STRING,或對應至小於0x08001fffffffffff
或大於0x08ff3b6db6db6db6
的 BIGINT 值,則函式會 傳回H3_INVALID_CELL_ID。 - 如果
resolutionExpr
小於或大於h3_resolution(h3CellIdExpr)
,則函式會傳回H3_INVALID_RESOLUTION_VALUE0
。
範例
-- Simple example taking a long as input.
> SELECT h3_toparent(599686042433355775, 0)
577199624117288959
-- Simple example taking a valid hexadecimal string as input.
> SELECT h3_toparent('85283473fffffff', 0)
8029fffffffffff
-- First input is an invalid H3 cell ID.
> SELECT h3_toparent(0, 0)
[H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID
-- Second input is an invalid resolution value.
> SELECT h3_toparent('85283473fffffff', -1)
[H3_INVALID_RESOLUTION_VALUE] H3 resolution -1 must be between 0 and 5, inclusive