Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime
Paraméteres kifejezés, amely átadható egy függvénynek annak viselkedésének szabályozásához.
A függvény például array_sort egy lambda függvényt fogad el argumentumként egy egyéni rendezési sorrend meghatározásához.
Szintaxis
{ param -> expr |
(param1 [, ...] ) -> expr }
Paraméterek
-
paramN: A szülőfüggvény által a lambda függvény argumentumainak átadására használt azonosító . -
expr: Bármely egyszerű kifejezésre hivatkozvaparamN-ra, amely nem tartalmaz al-lekérdezést vagy felhasználó által definiált SQL-függvényt.
Visszatérítések
Az eredménytípust a következő eredménytípus exprhatározza meg: .
Ha több paramNis van, a paraméterneveknek egyedinek kell lenniük. A paraméterek típusait az invoking függvény állítja be.
Ezeknek expression a típusoknak érvényesnek kell lenniük, és az eredménytípusnak meg kell egyeznie az invoking függvények meghatározott elvárásaival.
Példák
A array_sort függvény egy lambda függvényt vár két paraméterrel.
A paramétertípusok a rendezendő tömb elemeinek típusa lesznek.
A kifejezés várhatóan egy egész számot ad vissza, ahol a -1 azt jelenti param1<param2, a 0 azt jelenti param1 = param2, és egyébként az 1 értéket.
A sztringtömbök jobbról balra lexikális sorrendbe rendezéséhez használhatja a következő lambda függvényt.
(p1, p2) -> CASE WHEN p1 = p2 THEN 0
WHEN reverse(p1) < reverse(p2) THEN -1
ELSE 1 END
A Lambda-függvények meghatározása és használata ad hoc. A függvénydefiníció tehát az argumentum:
> SELECT array_sort(array('Hello', 'World'),
(p1, p2) -> CASE WHEN p1 = p2 THEN 0
WHEN reverse(p1) < reverse(p2) THEN -1
ELSE 1 END);
[World, Hello]