SAFE_DIVIDE (Lakehouse v1)
Eine PlaidCloud-Funktion, die auf jeder Lakehouse-Engine verfügbar ist. Dividiert die erste Zahl durch die zweite. Ist der Nenner null oder eine der beiden Seiten NULL, ist das Ergebnis der dritte Wert; übergeben Sie None, um NULL zu erhalten. In Lakehouse v1 sind alle drei Argumente erforderlich. Beide Seiten werden zunächst in DECIMAL(38, 10) umgewandelt, sodass Ganzzahlspalten ohne Abschneiden dividiert werden.
Analyze-Syntax
Abschnitt betitelt „Analyze-Syntax“func.safe_divide(<numerator>, <denominator>, <divide_by_zero_value>)Analyze-Beispiele
Abschnitt betitelt „Analyze-Beispiele“func.safe_divide(table.revenue, table.units, 0)
| revenue | units | safe_divide ||---------|-------|-------------|| 100 | 8 | 12.5 || 100 | 0 | 0 || 100 | NULL | 0 |func.safe_divide(table.revenue, table.units, None)
| revenue | units | safe_divide ||---------|-------|-------------|| 100 | 8 | 12.5 || 100 | 0 | NULL |SQL-Äquivalent
Abschnitt betitelt „SQL-Äquivalent“Es gibt keine SQL-Funktion mit diesem Namen. Der Ausdruck wird wie folgt kompiliert:
COALESCE(CAST(<numerator> AS DECIMAL(38, 10)) / NULLIF(CAST(<denominator> AS DECIMAL(38, 10)), 0), <divide_by_zero_value>)