أُضيفت في: v1.1.0
تُدرِج قيمة في المصفوفة عند الموضع المحدد.
إذا أُدرِجت عدة قيم في الموضع نفسه ضمن استعلام واحد، فتتصرف الدالة على النحو التالي:
- إذا نُفِّذ الاستعلام في خيط تنفيذ واحد، فستُستخدم أول قيمة من القيم المُدرَجة.
- إذا نُفِّذ الاستعلام باستخدام عدة خيوط تنفيذ، فستكون القيمة الناتجة إحدى القيم المُدرَجة بشكل غير محدد.
الصياغة
groupArrayInsertAt(default_x, size)([x, pos])
المعلمات
default_x — اختياري. القيمة الافتراضية المستخدمة للاستبدال في المواضع الفارغة. Any
size — اختياري. طول المصفوفة الناتجة. عند استخدام هذه المعلمة، يجب تحديد القيمة الافتراضية default_x. UInt32
الوسائط
x — القيمة المراد إدراجها. Any
pos — الموضع الذي سيُدرج فيه العنصر المحدد x. يبدأ ترقيم الفهارس في المصفوفة من الصفر. UInt32
القيمة المُعادة
تعيد مصفوفة تحتوي على القيم المُدرَجة. Array
أمثلة
الاستخدام الأساسي من دون معلمات
SELECT groupArrayInsertAt(toString(number), number * 2) FROM numbers(5);
┌─groupArrayInsertAt(toString(number), multiply(number, 2))─┐
│ ['0','','1','','2','','3','','4'] │
└───────────────────────────────────────────────────────────┘
الاستخدام مع معلمة القيمة الافتراضية
SELECT groupArrayInsertAt('-')(toString(number), number * 2) FROM numbers(5);
┌─groupArrayInsertAt('-')(toString(number), multiply(number, 2))─┐
│ ['0','-','1','-','2','-','3','-','4'] │
└────────────────────────────────────────────────────────────────┘
الاستخدام مع معامِلَي القيمة الافتراضية والحجم
SELECT groupArrayInsertAt('-', 5)(toString(number), number * 2) FROM numbers(5);
┌─groupArrayInsertAt('-', 5)(toString(number), multiply(number, 2))─┐
│ ['0','-','1','-','2'] │
└───────────────────────────────────────────────────────────────────┘
الإدراج متعدد الخيوط في نفس الموضع
SELECT groupArrayInsertAt(number, 0) FROM numbers_mt(10) SETTINGS max_block_size = 1;
┌─groupArrayInsertAt(number, 0)─┐
│ [7] │
└───────────────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦