dotProduct
مُستحدثة في: v21.11.0
تحسب الضرب النقطي (الجداء القياسي) لمتجهين (tupleين أو مصفوفتين متساويتين في الحجم). وتُرجِع مجموع نواتج ضرب العناصر المناظرة.
الصيغة
dotProduct(vector1, vector2)الأسماء المستعارة: scalarProduct
الوسائط
vector1— المتجه الأول.Array(T)أوTuple(T)vector2— المتجه الثاني. يجب أن يكون بالحجم نفسه للمتجه الأول.Array(T)أوTuple(T)
القيمة المُعادة
تعيد حاصل الضرب النقطي للمتجهين. وتتراكم مصفوفتا BFloat16 باستخدام Float32 وتُرجعان قيمة من النوع Float32. (U)Int* أو Float* أو Decimal
أمثلة
الاستخدام الأساسي
SELECT dotProduct((1, 2), (3, 4))11flattenTuple
أُضيفت في: v22.6.0
تُسطِّح Tuple مُسمّى ومتداخلاً. تكون عناصر الـ Tuple المُعادة هي مسارات الـ Tuple المُدخلة.
البنية
flattenTuple(input)الوسائط
input— Tuple مُسمّى ومتداخل يُراد تسطيحه.Tuple(n1 T1[, n2 T2, ... ])
القيمة المُعادة
يُرجع Tuple ناتجًا تكون عناصره مسارات من الإدخال الأصلي. Tuple(T)
أمثلة
مثال على الاستخدام
CREATE TABLE tab(t Tuple(a UInt32, b Tuple(c String, d UInt32))) ENGINE = MergeTree ORDER BY tuple();
INSERT INTO tab VALUES ((3, ('c', 4)));
SELECT flattenTuple(t) FROM tab;┌─flattenTuple(t)─┐
│ (3,'c',4) │
└─────────────────┘tuple
ظهر في: v1.1.0
يعيد tuple من خلال تجميع معاملات الإدخال.
بالنسبة إلى الأعمدة C1 وC2 و… ذات الأنواع T1 وT2 و…، فإنه يعيد tuple من النوع المسمى Tuple(C1 T1, C2 T2, …) يحتوي على هذه الأعمدة إذا كانت أسماؤها فريدة ويمكن التعامل معها كمُعرِّفات غير مقتبسة، وإلا فسيُعاد Tuple(T1, T2, …). لا توجد أي تكلفة لتنفيذ هذه الدالة. تُستخدم Tuples عادةً كقيم وسيطة لوسيط من معاملات IN، أو لإنشاء قائمة بالمعاملات الصورية لدوال lambda. ولا يمكن كتابة Tuples في جدول.
تُنفِّذ الدالة العامل (x, y, ...).
البنية
tuple([t1[, t2[ ...]])الوسائط
- لا يوجد.
القيمة المُعادة
أمثلة
اعتيادي
SELECT tuple(1, 2)(1,2)tupleConcat
قُدِّمت في: v23.8.0
تدمج قيم Tuple الممرَّرة كوسائط.
البنية
tupleConcat(tuple1[, tuple2, [...]])المعاملات
tupleN— عدد غير محدد من المعاملات من النوع Tuple.Tuple(T)
القيمة المُعادة
يُرجِع قيمة Tuple تحتوي على جميع العناصر من قيم Tuple المُدخلة. Tuple(T)
أمثلة
مثال على الاستخدام
SELECT tupleConcat((1, 2), ('a',), (true, false))(1,2,'a',true,false)tupleDivide
قُدِّمت في: v21.11.0
تحسب القسمة عنصرًا بعنصر لـ tupleين أو أكثر من الحجم نفسه، وتُطبَّق من اليسار إلى اليمين.
البنية
tupleDivide(t1, t2[, tN, ...])الوسيطات
t1— قيمة Tuple الأولى للإدخال.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)t2, ..., tN— قيمة Tuple إضافية واحدة أو أكثر للإدخال. يجب أن تكون جميع قيم Tuple بالحجم نفسه.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)
القيمة المعادة
تعيد قيمة Tuple تحتوي على نواتج القسمة عنصرًا بعنصر. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
قيمتا Tuple
SELECT tupleDivide((1, 2), (2, 3))(0.5,0.6666666666666666)ثلاثة tuples
SELECT tupleDivide((100.0, 60.0), (5.0, 3.0), (2.0, 4.0))(10,5)tupleDivideByNumber
أُضيف في: v21.11.0
يُرجع قيمة Tuple تكون جميع عناصرها مقسومة على عدد.
البنية
tupleDivideByNumber(tuple, number)الوسيطات
tuple— قيمة Tuple المطلوب قسمتها.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)number— القاسم.(U)Int*أوFloat*أوDecimal
القيمة المعادة
تعيد قيمة Tuple تحتوي على عناصر مقسومة. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
الاستخدام الأساسي
SELECT tupleDivideByNumber((1, 2), 0.5)(2,4)tupleElement
أُضيفت في: v1.1.0
تستخرج عنصرًا من Tuple باستخدام الفهرس أو الاسم.
للوصول باستخدام الفهرس، يُتوقع فهرس رقمي يبدأ العد فيه من 1. وللوصول باستخدام الاسم، يمكن تمرير اسم العنصر كسلسلة نصية (يعمل هذا فقط مع Tuple المُسمّاة).
الفهارس السالبة مدعومة. في هذه الحالة، يُحدَّد العنصر المقابل مع ترقيم يبدأ من النهاية. على سبيل المثال، tuple.-1 هو العنصر الأخير في Tuple.
تحدّد وسيطة ثالثة اختيارية قيمة افتراضية تُعاد بدلًا من إطلاق استثناء عندما لا يكون العنصر المطلوب الوصول إليه موجودًا. يجب أن تكون جميع الوسيطات ثوابت.
هذه الدالة لا تترتب عليها أي كلفة وقت تشغيل، وتنفّذ المعاملين x.index و x.name.
البنية
tupleElement(tuple, index|name[, default_value])الوسائط
tuple— قيمة من النوع Tuple أو مصفوفة من قيم Tuple.Tuple(T)أوArray(Tuple(T))index— فهرس العمود، بدءًا من 1.const UInt8/16/32/64name— اسم العنصر.const Stringdefault_value— القيمة الافتراضية التي تُعاد عندما يكون الفهرس خارج النطاق أو عندما لا يكون العنصر موجودًا.Any
القيمة المُعادة
يُعاد العنصر عند الفهرس أو الاسم المحدد. Any
أمثلة
الوصول بالفهرس
SELECT tupleElement((1, 'hello'), 2)helloالفهرسة بالمؤشرات السالبة
SELECT tupleElement((1, 'hello'), -1)helloTuple مُسمّاة مع جدول
CREATE TABLE example (values Tuple(name String, age UInt32)) ENGINE = Memory;
INSERT INTO example VALUES (('Alice', 30));
SELECT tupleElement(values, 'name') FROM example;Aliceمع القيمة الافتراضية
SELECT tupleElement((1, 2), 5, 'not_found')not_foundصيغة المعامل
SELECT (1, 'hello').2hellotupleHammingDistance
أُضيفت في: v21.1.0
تعيد مسافة هامينغ بين قيمتَي Tuple لهما العدد نفسه من العناصر.
الصيغة
tupleHammingDistance(t1, t2)الوسائط
القيمة المُعادة
تعيد مسافة هامينغ. UInt8/16/32/64
أمثلة
مثال على الاستخدام
SELECT tupleHammingDistance((1, 2, 3), (3, 2, 1))2باستخدام MinHash لاكتشاف السلاسل النصية شبه المتطابقة
SELECT tupleHammingDistance(wordShingleMinHash(string), wordShingleMinHashCaseInsensitive(string)) FROM (SELECT 'ClickHouse is a column-oriented database management system for online analytical processing of queries.' AS string)2tupleIntDiv
تم تقديمه في: v23.8.0
يجري قسمة صحيحة على مستوى كل عنصر لاثنين أو أكثر من عناصر Tuple ذات الحجم نفسه، مع التطبيق من اليسار إلى اليمين. ويُرجع Tuple من نواتج القسمة. إذا كان أي Tuple يحتوي على عناصر غير صحيحة، فتُحسب النتيجة بتقريب كل بسط أو مقسوم عليه غير صحيح إلى أقرب عدد صحيح. تؤدي القسمة على 0 إلى طرح استثناء.
البنية
tupleIntDiv(t1, t2[, tN, ...])الوسيطات
t1— أول Tuple مُدخل.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)t2, ..., tN— واحد أو أكثر من قيم Tuple المُدخلة الإضافية. يجب أن يكون حجم جميع قيم Tuple متماثلًا.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)
القيمة المعادة
تعيد Tuple من نواتج القسمة الصحيحة. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
Tupleان
SELECT tupleIntDiv((15, 10, 5), (5, 5, 5))(3,2,1)مع القيم العشرية
SELECT tupleIntDiv((15, 10, 5), (5.5, 5.5, 5.5))(2,1,0)ثلاثة Tuples
SELECT tupleIntDiv((120, 60), (4, 3), (2, 4))(15,5)tupleIntDivByNumber
أُضيفت في: v23.8.0
تُجري قسمة صحيحة على Tuple من البسوط باستخدام مقام معيّن، وتُرجع Tuple من نواتج القسمة. إذا احتوت أيّ من معلمات الإدخال على عناصر غير صحيحة، فستُحسب النتيجة بتقريب كل بسط أو مقسوم عليه غير صحيح إلى أقرب عدد صحيح. سيتم طرح خطأ عند القسمة على 0.
البنية
tupleIntDivByNumber(tuple_num, div)الوسائط
tuple_num— Tuple لقيم البسط.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)div— قيمة المقسوم عليه.(U)Int*أوFloat*أوDecimal
القيمة المعادة
تعيد Tuple من نواتج القسمة. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
الاستخدام الأساسي
SELECT tupleIntDivByNumber((15, 10, 5), 5)(3,2,1)مع قيم Decimal
SELECT tupleIntDivByNumber((15.2, 10.7, 5.5), 5.8)(2,1,0)tupleIntDivOrZero
أُضيف في: v23.8.0
مثل tupleIntDiv، يُجري قسمة صحيحة على مستوى كل عنصر لاثنين أو أكثر من قيم Tuple ذات الحجم نفسه، مع التطبيق من اليسار إلى اليمين.
في حالة القسمة على 0، يُرجِع 0 لذلك العنصر بدلًا من إثارة استثناء.
إذا احتوى أي Tuple على عناصر غير صحيحة، فتُحتسب النتيجة عبر التقريب إلى أقرب عدد صحيح لكل بسط أو مقسوم عليه غير صحيح.
الصياغة
tupleIntDivOrZero(t1, t2[, tN, ...])الوسائط
t1— قيمة Tuple الأولى للإدخال.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)t2, ..., tN— قيمة Tuple إضافية واحدة أو أكثر للإدخال. يجب أن تكون جميع قيم Tuple بالحجم نفسه.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)
القيمة المعادة
تعيد قيمة Tuple من نواتج القسمة الصحيحة، مع 0 لأي عنصر يكون فيه المقسوم عليه 0. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
مع مقسوم عليه يساوي صفرًا
SELECT tupleIntDivOrZero((5, 10, 15), (0, 0, 0))(0,0,0)ثلاث قيم Tuple
SELECT tupleIntDivOrZero((120, 60), (4, 3), (2, 4))(15,5)tupleIntDivOrZeroByNumber
قُدِّم في: v23.8.0
مثل tupleIntDivByNumber، يُجري هذا الدالّة قسمةً صحيحة لعناصر Tuple من البسوط على مقام معيّن، ويُرجع Tuple من نواتج القسمة.
ولا يُنتج خطأً إذا كان القاسم صفراً، بل يُرجع ناتج القسمة صفراً.
إذا احتوى Tuple أو القاسم على عناصر غير صحيحة، فتُحسب النتيجة بتقريب كل بسط أو قاسم غير صحيح إلى أقرب عدد صحيح.
البنية
tupleIntDivOrZeroByNumber(tuple_num, div)الوسيطات
tuple_num— Tuple لقيم البسط.Tuple((U)Int*)orTuple(Float*)orTuple(Decimal)div— قيمة المقسوم عليه.(U)Int*orFloat*orDecimal
القيمة المعادة
تُرجِع Tuple من نواتج القسمة، مع 0 للنواتج التي يكون فيها المقسوم عليه 0. Tuple((U)Int*) or Tuple(Float*) or Tuple(Decimal)
أمثلة
الاستخدام الأساسي
SELECT tupleIntDivOrZeroByNumber((15, 10, 5), 5)(3,2,1)عند كون القاسم صفرًا
SELECT tupleIntDivOrZeroByNumber((15, 10, 5), 0)(0,0,0)tupleMinus
قُدِّمت في: v21.11.0
يحسب الفرق عنصرًا بعنصر بين قيمتي Tuple أو أكثر من الحجم نفسه، ويُطبَّق من اليسار إلى اليمين.
الصياغة
tupleMinus(t1, t2[, tN, ...])الأسماء البديلة: vectorDifference
الوسيطات
t1— قيمة الإدخال الأولى من النوعTuple.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)t2, ..., tN— قيمة إدخال إضافية واحدة أو أكثر من النوعTuple. يجب أن تكون جميع قيمTupleبالحجم نفسه.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)
القيمة المعادة
تعيد قيمة Tuple تحتوي على الفروق عنصرًا بعنصر. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
زوج من قيم Tuple
SELECT tupleMinus((1, 2), (2, 3))(-1,-1)ثلاثة Tuples
SELECT tupleMinus((10, 10), (3, 4), (2, 1))(5,5)tupleModulo
قُدِّمت في: v23.8.0
يعيد Tuple يحتوي على بواقي القسمة المحسوبة عنصرًا بعنصر من قسمة مجموعتي Tuple أو أكثر من الحجم نفسه، مع تطبيق العملية من اليسار إلى اليمين.
البنية
tupleModulo(t1, t2[, tN, ...])الوسيطات
t1— أول Tuple مُدخل.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)t2, ..., tN— قيمة Tuple مُدخلة إضافية واحدة أو أكثر. يجب أن تكون جميع قيم Tuple بالحجم نفسه.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)
القيمة المُعادة
تُعيد Tuple يحتوي على بواقي القسمة محسوبةً عنصرًا بعنصر. يتم طرح استثناء عند القسمة على صفر. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
قيمتا Tuple
SELECT tupleModulo((15, 10, 5), (5, 3, 2))(0,1,1)ثلاثة Tuples
SELECT tupleModulo((10, 20), (7, 9), (3, 5))(0,2)tupleModuloByNumber
أُضيف في: v23.8.0
تُرجِع Tuple تحتوي على نواتج باقي القسمة (البواقي) لعمليات القسمة بين Tuple ومقسوم عليه معيّن.
الصياغة
tupleModuloByNumber(tuple_num, div)الوسيطات
tuple_num— Tuple لعناصر البسط.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)div— قيمة القاسم.(U)Int*أوFloat*أوDecimal
القيمة المعادة
تُرجِع Tuple من بواقي القسمة. ويتم طرح خطأ عند القسمة على صفر. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
الاستخدام الأساسي
SELECT tupleModuloByNumber((15, 10, 5), 2)(1,0,1)tupleMultiply
أُضيف في: v21.11.0
يحسب حاصل الضرب عنصرًا بعنصر لاثنين أو أكثر من قيم Tuple ذات الحجم نفسه.
البنية
tupleMultiply(t1, t2[, tN, ...])الوسيطات
t1— Tuple الإدخال الأول.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)t2, ..., tN— قيمة Tuple إضافية واحدة أو أكثر للإدخال. يجب أن تكون جميع قيم Tuple بالحجم نفسه.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)
القيمة المعادة
تعيد قيمة Tuple تحتوي على نواتج الضرب على مستوى العناصر. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
قيمتا Tuple
SELECT tupleMultiply((1, 2), (2, 3))(2,6)ثلاثة tuples
SELECT tupleMultiply((1, 2), (2, 3), (1, 2))(2,12)tupleMultiplyByNumber
أُضيف في: v21.11.0
يُرجع Tuple تكون جميع عناصرها مضروبة في عدد.
البنية
tupleMultiplyByNumber(tuple, number)المعاملات
tuple— قيمة Tuple المراد ضربها.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)number— المُضاعِف.(U)Int*أوFloat*أوDecimal
القيمة المُعادة
يُرجع قيمة Tuple بعناصر مضروبة. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
الاستخدام الأساسي
SELECT tupleMultiplyByNumber((1, 2), -2.1)(-2.1,-4.2)tupleNames
أُضيفت في: v24.8.0
يحوّل Tuple إلى مصفوفة من أسماء الأعمدة. وبالنسبة إلى Tuple بالصيغة Tuple(a T, b T, ...)، فإنه يعيد مصفوفة من السلاسل النصية التي تمثل الأعمدة المسمّاة في الـ Tuple. وإذا لم تكن لعناصر الـ Tuple أسماء صريحة، فستُستخدم فهارسها بدلًا منها كأسماء للأعمدة.
البنية
tupleNames(tuple)المعاملات
- لا شيء.
القيمة المعادة
أمثلة
نموذجي
SELECT tupleNames(tuple(1 as a, 2 as b))['1','2']tupleNegate
أُضيفت في: v21.11.0
تحسب القيمة السالبة لعناصر الـ Tuple.
الصيغة
tupleNegate(t)الوسيطات
t— قيمة Tuple المراد نفيها.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)
القيمة المعادة
تُرجِع قيمة Tuple تحتوي على نتيجة النفي. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
الاستخدام الأساسي
SELECT tupleNegate((1, 2))(-1,-2)tuplePlus
طُرح في: v21.11.0
يحسب مجموع العناصر المناظرة في tupleين أو أكثر من الحجم نفسه.
الصيغة
tuplePlus(t1, t2[, tN, ...])الأسماء البديلة: vectorSum
الوسائط
t1— Tuple الإدخال الأول.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)t2, ..., tN— Tuple إدخال إضافي واحد أو أكثر. يجب أن تكون جميع قيم Tuple بالحجم نفسه.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)
القيمة المُعادة
تُرجِع قيمة Tuple تحتوي على المجاميع عنصرًا بعنصر. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
Tupleان
SELECT tuplePlus((1, 2), (2, 3))(3,5)ثلاثة Tuples
SELECT tuplePlus((1, 2), (2, 3), (3, 4))(6,9)tuplePositiveModuloByNumber
أُضيف في: v26.4.0
يعيد Tuple يحتوي على البواقي الموجبة (remainders) لعمليات قسمة عناصر Tuple على مقسوم عليه معيّن. وعلى خلاف tupleModuloByNumber، تكون النتيجة دائمًا غير سالبة.
البنية
tuplePositiveModuloByNumber(tuple_num, div)الوسيطات
tuple_num— Tuple لقيم المقسوم.Tuple((U)Int*)أوTuple(Float*)أوTuple(Decimal)div— قيمة المقسوم عليه.(U)Int*أوFloat*أوDecimal
القيمة المعادة
تُرجع Tuple من البواقي غير السالبة. Tuple((U)Int*) أو Tuple(Float*) أو Tuple(Decimal)
أمثلة
الاستخدام الأساسي
SELECT tuplePositiveModuloByNumber((15, 10, 5), 2)(1,0,1)tupleToNameValuePairs
تم تقديمها في: v21.9.0
تحوّل Tuple إلى Array من أزواج (name, value).
على سبيل المثال، يُحوَّل الـ Tuple Tuple(n1 T1, n2 T2, ...) إلى Array(Tuple('n1', T1), Tuple('n2', T2), ...).
يجب أن تكون جميع القيم في الـ Tuple من النوع نفسه.
الصياغة
tupleToNameValuePairs(tuple)الوسيطات
tuple— Tuple مُسمّى يحتوي على قيم من أي أنواع.Tuple(n1 T1[, n2 T2, ...])
القيمة المعادة
تعيد مصفوفة من أزواج (name, value). Array(Tuple(String, T))
أمثلة
Tuple مُسمّى
SELECT tupleToNameValuePairs(tuple(1593 AS user_ID, 2502 AS session_ID))[('1',1593),('2',2502)]Tuple غير مُسمّى
SELECT tupleToNameValuePairs(tuple(3, 2, 1))[('1',3),('2',2),('3',1)]untuple
ينفّذ استبدالًا نحويًا لعناصر tuple في موضع الاستدعاء.
تعتمد أسماء الأعمدة الناتجة على التنفيذ وقد تتغير. لا تفترض أسماء أعمدة محددة بعد untuple.
الصيغة
untuple(x)يمكنك استخدام التعبير EXCEPT لتخطي الأعمدة من نتيجة الاستعلام.
الوسائط
x— دالةtuple، أو عمود، أو Tuple من العناصر. Tuple.
القيمة المُعادة
- لا شيء.
أمثلة
جدول الإدخال:
┌─key─┬─v1─┬─v2─┬─v3─┬─v4─┬─v5─┬─v6────────┐
│ 1 │ 10 │ 20 │ 40 │ 30 │ 15 │ (33,'ab') │
│ 2 │ 25 │ 65 │ 70 │ 40 │ 6 │ (44,'cd') │
│ 3 │ 57 │ 30 │ 20 │ 10 │ 5 │ (55,'ef') │
│ 4 │ 55 │ 12 │ 7 │ 80 │ 90 │ (66,'gh') │
│ 5 │ 30 │ 50 │ 70 │ 25 │ 55 │ (77,'kl') │
└─────┴────┴────┴────┴────┴────┴───────────┘مثال على استخدام عمود من نوع Tuple بصفته معلمة للدالة untuple:
SELECT untuple(v6) FROM kv;┌─_ut_1─┬─_ut_2─┐
│ 33 │ ab │
│ 44 │ cd │
│ 55 │ ef │
│ 66 │ gh │
│ 77 │ kl │
└───────┴───────┘مثال على استخدام تعبير EXCEPT:
SELECT untuple((* EXCEPT (v2, v3),)) FROM kv;┌─key─┬─v1─┬─v4─┬─v5─┬─v6────────┐
│ 1 │ 10 │ 30 │ 15 │ (33,'ab') │
│ 2 │ 25 │ 40 │ 6 │ (44,'cd') │
│ 3 │ 57 │ 10 │ 5 │ (55,'ef') │
│ 4 │ 55 │ 80 │ 90 │ (66,'gh') │
│ 5 │ 30 │ 25 │ 55 │ (77,'kl') │
└─────┴────┴────┴────┴───────────┘دوال المسافة
ترد جميع الدوال المدعومة في وثائق دوال المسافة.