الاسم البديل: generateSeries
البنية
يعيد جدولًا يحتوي على العمود الوحيد 'generate_series' (UInt64) ويتضمن أعدادًا صحيحة من start إلى stop، بشمول الطرفين:
generate_series(START, STOP)يعيد جدولًا يحتوي على العمود الوحيد 'generate_series' (UInt64) ويتضمن أعدادًا صحيحة من start إلى stop، مع تضمين القيمتين، وبفاصل بين القيم يحدده STEP:
generate_series(START, STOP, STEP)يمكن أن تكون STEP سالبة، وفي هذه الحالة تُنشأ السلسلة بترتيب تنازلي من START حتى STOP. وإذا كانت STEP سالبة وكان START < STOP، فستكون النتيجة فارغة.
أمثلة
تُرجِع الاستعلامات التالية جداول لها المحتوى نفسه ولكن بأسماء أعمدة مختلفة:
SELECT * FROM numbers(10, 5);┌─number─┐
│ 10 │
│ 11 │
│ 12 │
│ 13 │
│ 14 │
└────────┘SELECT * FROM generate_series(10, 14);┌─generate_series─┐
│ 10 │
│ 11 │
│ 12 │
│ 13 │
│ 14 │
└─────────────────┘وتُرجِع الاستعلامات التالية جداول ذات المحتوى نفسه ولكن بأسماء أعمدة مختلفة (مع أن الخيار الثاني أكثر كفاءة):
SELECT * FROM numbers(10, 11) WHERE number % 3 == (10 % 3);┌─number─┐
│ 10 │
│ 13 │
│ 16 │
│ 19 │
└────────┘SELECT * FROM generate_series(10, 20, 3);┌─generate_series─┐
│ 10 │
│ 13 │
│ 16 │
│ 19 │
└─────────────────┘ولّد متتالية تنازلية:
SELECT * FROM generate_series(9, 0, -1);┌─generate_series─┐
│ 9 │
│ 8 │
│ 7 │
│ 6 │
│ 5 │
│ 4 │
│ 3 │
│ 2 │
│ 1 │
│ 0 │
└─────────────────┘