콘텐츠로 이동

모든 레이크하우스 엔진에서 사용할 수 있는 PlaidCloud 함수입니다. 첫 번째 수를 두 번째 수로 나눕니다. 분모가 0이거나 어느 한쪽이 NULL이면 결과는 세 번째 값입니다. NULL을 얻으려면 None을 전달합니다. Lakehouse v1에서는 세 인수가 모두 필수입니다. 정수 열도 잘림 없이 나누어지도록 양쪽을 먼저 DECIMAL(38, 10)으로 캐스팅합니다.

func.safe_divide(<numerator>, <denominator>, <divide_by_zero_value>)
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 함수는 없습니다. 이 식은 다음과 같이 컴파일됩니다.

COALESCE(CAST(<numerator> AS DECIMAL(38, 10)) / NULLIF(CAST(<denominator> AS DECIMAL(38, 10)), 0), <divide_by_zero_value>)