إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime
يفصل expr1، ...، exprN إلى numRows صفوف.
بناء الجملة
stack(numRows, expr1 [, ...] )
الوسيطات
numRows: قيمة حرفيةINTEGERأكبر من 0 تحدد عدد الصفوف المنتجة.exprN: تعبير من أي نوع. يجب أن يتطابق نوع أيexprNنوع منexpr(N+numRows)أنواع .
المرتجعات
مجموعة من numRows الصفوف التي تتضمن max(1, (N/numRows)) أعمدة تنتجها هذه الدالة.
يتم إضافة صف غير مكتمل ب NULLs.
بشكل افتراضي، تسمى col0, … col(n-1)الأعمدة المنتجة .
stack يعادل VALUES عبارة .
ينطبق على:
Databricks Runtime 12.1 والإصدارات السابقة:stackيمكن وضعها فقط فيSELECTالقائمة كجذر لتعبير أو اتباع طريقة عرض LATERAL. عند وضع الدالة فيSELECTالقائمة، يجب ألا تكون هناك دالة مولد أخرى في نفسSELECTالقائمة أو UNSUPPORTED_GENERATOR. يتم رفع MULTI_GENERATOR.ينطبق على:
Databricks SQL
Databricks Runtime 12.2 LTS وما فوق:يتم إهمال الاستدعاء من عبارة LATERAL VIEW أو
SELECTالقائمة. بدلا من ذلك، استدعstackك table_reference.
الأمثلة
ينطبق على:
Databricks Runtime 12.1 والإصدارات السابقة:
> SELECT 'hello', stack(2, 1, 2, 3) AS (first, second), 'world';
hello 1 2 world
hello 3 NULL world
> SELECT 'hello', stack(2, 1, 2, 3) AS (first, second), stack(2, 'a', 'b') AS (third) 'world';
Error: UNSUPPORTED_GENERATOR.MULTI_GENERATOR
-- Equivalent usage of VALUES
> SELECT 'hello', s1.*, s2.*, 'world'
FROM VALUES(1, 2), (3, NULL) AS s1(first, second),
VALUES('a'), ('b') AS s2(third);
hello 1 2 a world
hello 3 NULL a world
hello 1 2 b world
hello 3 NULL b world
ينطبق على:
Databricks SQL
Databricks Runtime 12.2 LTS وما فوق:
> SELECT 'hello', s.*, 'world'
FROM stack(2, 1, 2, 3) AS s(first, second);
hello 1 2 world
hello 3 NULL world
> SELECT 'hello', s1.*, s2.*, 'world'
FROM stack(2, 1, 2, 3) AS s1(first, second),
stack(2, 'a', 'b') AS s2(third);
hello 1 2 a world
hello 3 NULL a world
hello 1 2 b world
hello 3 NULL b world