الانتقال إلى المحتوى الرئيسي

bech32Decode

أُضيفت في: v25.6.0 يفكّ ترميز سلسلة عنوان Bech32 التي أُنشئت باستخدام إحدى خوارزميتي bech32 أو bech32m.
على عكس دالة الترميز، يتعامل bech32Decode تلقائيًا مع FixedStrings ذات الحشو.
البنية
المعاملات
  • address — سلسلة Bech32 المطلوب فك ترميزها. String أو FixedString
  • mode — اختياري. مرّر 'raw' لفك الترميز من دون إزالة البايت الأول باعتباره إصدار الشاهد. استخدم هذا مع العناوين غير التابعة لـ SegWit (مثل Cosmos SDK). String
القيمة المعادة يعيد Tuple يتكوّن من (hrp, data) استُخدم في ترميز السلسلة. تكون البيانات بتنسيق ثنائي. Tuple(String, String) أمثلة فك ترميز العنوان
Query
Response
عنوان الشبكة التجريبية
Query
Response

bech32Encode

أُضيفت في: v25.6.0 تُشفِّر سلسلة بيانات ثنائية، إلى جانب الجزء المقروء بشريًا (HRP)، باستخدام خوارزميات Bech32 or Bech32m.
عند استخدام نوع البيانات FixedString، إذا كانت القيمة لا تملأ الحقل بالكامل، فستُحشى بمحارف null. وبينما تتعامل الدالة bech32Encode مع هذا تلقائيًا بالنسبة إلى الوسيط hrp، يجب ألا تكون القيم في الوسيط data محشوة. لهذا السبب، لا يُنصح باستخدام نوع البيانات FixedString لقيم بياناتك إلا إذا كنت متأكدًا من أن أطوالها جميعًا متساوية، وأن عمود FixedString لديك مضبوط على هذا الطول أيضًا.
البنية
الوسائط
  • hrp — سلسلة String تتكوّن من 1 - 83 حرفًا صغيرًا وتحدّد “الجزء المقروء بشريًا” من الشيفرة. تكون عادةً ‘bc’ أو ‘tb’. String أو FixedString
  • data — سلسلة String من البيانات الثنائية المطلوب ترميزها. String أو FixedString
  • witver_or_variant — اختياري. إمّا إصدار شاهد من نوع UInt* (القيمة الافتراضية = 1، و0 لـ Bech32، و1+ لـ Bech32m) أو صيغة ترميز من نوع String: 'bech32' ‏(BIP173) أو 'bech32m' ‏(BIP350). عند استخدام صيغة نصية، لا يُضاف بايت إصدار الشاهد في البداية — وهذا مطلوب للعناوين غير التابعة لـ SegWit مثل Cosmos SDK. UInt* أو String
القيمة المُعادة تعيد سلسلة عنوان Bech32 تتكوّن من الجزء المقروء بشريًا، ومحرف فاصل يكون دائمًا ‘1’، وجزء بيانات. لن يتجاوز طول السلسلة 90 حرفًا. وإذا تعذّر على الخوارزمية إنشاء عنوان صالح من المُدخلات، فستُعيد سلسلة فارغة. String أمثلة Bech32m الافتراضي
Query
Response
خوارزمية Bech32
Query
Response
HRP مخصّص
Query
Response
عنوان Cosmos SDK ‏(BIP173، من دون witness version)
Query
Response

bin

أُضيف في: v21.8.0 يعيد سلسلة تحتوي على التمثيل الثنائي للمعامل وفقًا للمنطق التالي لمختلف الأنواع:
النوعالوصف
(U)Int*يطبع الأرقام الثنائية من الأكثر أهمية إلى الأقل أهمية (بترتيب big-endian أو بالترتيب “المقروء للبشر”). ويبدأ بأكثر بايت غير صفري أهمية (مع حذف البايتات الصفرية البادئة)، لكنه يطبع دائمًا ثمانية أرقام لكل بايت حتى إذا كان الرقم الأول صفرًا.
Date and DateTimeيُنسَّق كأعداد صحيحة مقابلة (عدد الأيام منذ epoch بالنسبة إلى Date، وقيمة Unix timestamp بالنسبة إلى DateTime).
String and FixedStringتُشفَّر جميع البايتات ببساطة على هيئة ثمانية أرقام ثنائية. ولا تُحذف البايتات الصفرية.
Float* and Decimalتُشفَّر وفقًا لتمثيلها في الذاكرة. ونظرًا إلى أننا ندعم معمارية little-endian، فهي تُشفَّر بترتيب little-endian. ولا تُحذف البايتات الصفرية البادئة أو اللاحقة.
UUIDيُشفَّر كسلسلة بترتيب big-endian.
الصياغة
الوسائط القيمة المُعادة يعيد سلسلة نصية تحتوي على التمثيل الثنائي للوسيطة. String أمثلة عدد صحيح بسيط
Query
Response
أرقام Float32
Query
Response
أرقام Float64
Query
Response
تحويل معرّف UUID
Query
Response

bitPositionsToArray

أُضيفت في: v21.7.0 تُرجع هذه الدالة مواقع البتات ذات القيمة 1 (بترتيب تصاعدي) في التمثيل الثنائي لعدد صحيح غير موقَّع. تُحوَّل أعداد الإدخال الصحيحة الموقَّعة أولًا إلى عدد صحيح غير موقَّع. البنية
الوسائط
  • arg — قيمة صحيحة. (U)Int*
القيمة المُعادة تعيد مصفوفة تتضمن مواضع البتات ذات القيمة 1 في التمثيل الثنائي للإدخال، مرتبة ترتيبًا تصاعديًا. Array(UInt64) أمثلة ضبط بت واحد
Query
Response
تعيين جميع البتات
Query
Response

bitmaskToArray

قُدِّمت في: v1.1.0 تفكّك هذه الدالة عددًا صحيحًا إلى مجموع قوى العدد اثنين. وتُعاد قوى العدد اثنين في مصفوفة مرتبة تصاعديًا. الصياغة
الوسائط
  • num — قيمة صحيحة. (U)Int*
القيمة المُعادة تعيد مصفوفة تتضمن قوى العدد اثنين المرتبة تصاعديًا والتي يساوي مجموعها عدد الإدخال. Array(UInt64) أمثلة مثال أساسي
Query
Response
قيمة واحدة من قوى العدد 2
Query
Response

bitmaskToList

أُضيفت في: v1.1.0 تشبه bitmaskToArray، لكنها تُرجع قوى العدد اثنين على هيئة سلسلة نصية مفصولة بفواصل. البنية
الوسائط
  • num — قيمة عددية صحيحة. (U)Int*
القيمة المُعادة يُرجع سلسلة نصية تحتوي على قوى العدد 2 مفصولة بفواصل. String أمثلة مثال أساسي
Query
Response

char

استُحدث في: v20.1.0 يعيد سلسلة نصية بطول يساوي عدد الوسيطات المُمرَّرة، بحيث تكون قيمة كل بايت هي قيمة الوسيطة المقابلة له. يقبل عدة وسيطات من الأنواع الرقمية. إذا كانت قيمة الوسيطة خارج نطاق نوع البيانات UInt8، فستُحوَّل إلى UInt8 مع احتمال حدوث التقريب والتجاوز. الصياغة
الوسائط
  • num1[, num2[, num3 ...]] — وسائط رقمية تُفسَّر على أنها أعداد صحيحة. (U)Int8/16/32/64 أو Float*
القيمة المُعادة يعيد سلسلة نصية من البايتات المُعطاة. String أمثلة مثال أساسي
Query
Response
إنشاء ترميزات مخصّصة
Query
Response

hex

أُضيفت في: v1.1.0 تعيد سلسلة نصية تحتوي على التمثيل السداسي العشري للـ argument وفقًا للمنطق التالي باختلاف الأنواع:
النوعالوصف
(U)Int*تطبع الأرقام السداسية العشرية (“nibbles”) من الأعلى أهمية إلى الأدنى أهمية (بترتيب كبير الطرفية أو بترتيب “مقروء للبشر”). وتبدأ بأعلى بايت غير صفري أهمية (مع حذف البايتات الصفرية البادئة)، لكنها تطبع دائمًا الرقمين الخاصين بكل بايت حتى لو كان الرقم الأول صفرًا.
Date و DateTimeتُنسَّق كالأعداد الصحيحة المقابلة لها (عدد الأيام منذ epoch بالنسبة إلى Date، وقيمة Unix timestamp بالنسبة إلى DateTime).
String و FixedStringتُشفَّر جميع البايتات ببساطة على شكل رقمين سداسيين عشريين. ولا تُحذف البايتات الصفرية.
Float* و Decimalتُشفَّر وفق تمثيلها في الذاكرة. ويمثّل ClickHouse القيم داخليًا دائمًا بتنسيق little endian، لذلك تُشفَّر بهذا التنسيق. ولا تُحذف البايتات الصفرية البادئة أو اللاحقة.
UUIDيُشفَّر كسلسلة بترتيب كبير الطرفية.
تستخدم الدالة الأحرف الكبيرة A-F، من دون أي بادئات (مثل 0x) أو لواحق (مثل h). البنية
الوسائط القيمة المُعادة تُرجِع سلسلة نصية تحتوي على التمثيل السداسي العشري للوسيطة. String أمثلة عدد صحيح بسيط
Query
Response
أرقام Float32
Query
Response
الأعداد من نوع Float64
Query
Response
تحويل معرّف UUID
Query
Response

hilbertDecode

أُضيف في: v24.6.0 يفكّ ترميز فهرس منحنى Hilbert إلى Tuple من الأعداد الصحيحة غير الموقّعة، يمثّل إحداثيات في فضاء متعدد الأبعاد. كما في الدالة hilbertEncode، لهذه الدالة وضعا تشغيل:
  • بسيط
  • موسّع
الوضع البسيط يقبل حتى عددين صحيحين غير موقّعين كوسيطات، ويُنتج شيفرة UInt64. الوضع الموسّع يقبل قناع نطاق (Tuple) كوسيطة أولى، وما يصل إلى عددين صحيحين غير موقّعين كوسيطات أخرى. يحدّد كل رقم في القناع عدد الـ bits التي ستُزاح بها الوسيطة المقابلة إلى اليسار، مما يؤدي فعليًا إلى تحجيمها ضمن نطاقها. قد يكون توسيع النطاق مفيدًا عندما تحتاج إلى توزيع متقارب لوسيطات تختلف نطاقاتها كثيرًا (أو عدد قيم مميّزة) على سبيل المثال: ‘IP Address’ (0...FFFFFFFF) و’Country code’ (0...FF). وكما في دالة الترميز، يقتصر ذلك على 8 أرقام كحد أقصى. الصياغة
المعاملات القيمة المعادة يعيد قيمة من النوع Tuple بالحجم المحدد. Tuple(UInt64) أمثلة الوضع البسيط
Query
Response
وسيطة واحدة
Query
Response
الوضع المُوسَّع
Query
Response
استخدام الأعمدة
Query
Response

hilbertEncode

أُضيف في: v24.6.0 يحسب الشيفرة الخاصة بمنحنى هيلبرت لقائمة من الأعداد الصحيحة غير الموقعة. للدالة وضعان للتشغيل:
  • البسيط
  • الموسّع
الوضع البسيط يقبل حتى عددين صحيحين غير موقّعين كوسيطتين، وينتج شيفرة من النوع UInt64. الوضع الموسّع يقبل قناع نطاق (Tuple) بوصفه الوسيطة الأولى، وحتى 2 من الأعداد الصحيحة غير الموقعة بوصفها الوسيطات الأخرى. يحدّد كل رقم في القناع عدد البتات التي ستُزاح بها الوسيطة المقابلة إلى اليسار، مما يؤدي فعليًا إلى تحجيم الوسيطة ضمن نطاقها. الصياغة
المعاملات
  • args — حتى قيمتَين من UInt أو عمودَين من النوع UInt. UInt8/16/32/64
  • range_mask — في الوضع الموسّع، حتى قيمتَين من UInt أو عمودَين من النوع UInt. UInt8/16/32/64
القيمة المُعادة يُرجع شيفرة UInt64. UInt64 أمثلة الوضع البسيط
Query
Response
الوضع الموسّع
Query
Response
وسيطة واحدة
Query
Response
وسيطة واحدة (موسَّعة)
Query
Response
استخدام الأعمدة
Query
Response

mortonDecode

أُضيف في: v24.6.0 يفك ترميز Morton ‏(ZCurve) إلى tuple المناظرة من الأعداد الصحيحة غير الموقَّعة. كما هو الحال مع الدالة mortonEncode، فإن لهذه الدالة وضعَي تشغيل:
  • البسيط
  • الموسَّع
الوضع البسيط يقبل حجم tuple الناتجة بوصفه المعامل الأول، والشيفرة بوصفها المعامل الثاني. الوضع الموسَّع يقبل قناع نطاق (tuple) بوصفه المعامل الأول، والشيفرة بوصفها المعامل الثاني. ويحدّد كل رقم في القناع مقدار تقليص النطاق:
  • 1 - بدون تقليص
  • 2 - تقليص بمقدار 2x
  • 3 - تقليص بمقدار 3x ⋮
  • حتى 8x.
قد يكون توسيع النطاق مفيدًا عندما تحتاج إلى توزيع متقارب لمعاملات ذات نطاقات مختلفة جدًا (أو عدد قيم مميّزة مختلف جدًا). على سبيل المثال: ‘IP Address’ (0...FFFFFFFF) و’Country code’ (0...FF). وكما هو الحال مع دالة الترميز، يقتصر ذلك على 8 أرقام كحد أقصى. البنية
المعاملات
  • tuple_size — قيمة عددية صحيحة لا تتجاوز 8. UInt8/16/32/64
  • range_mask — في الوضع الموسّع، القناع الخاص بكل معامل. القناع هو Tuple من أعداد صحيحة غير موقّعة. ويحدّد كل رقم في القناع مقدار تقليص النطاق. Tuple(UInt8/16/32/64)
  • code — رمز من النوع UInt64. UInt64
القيمة المعادة يعيد Tuple بالحجم المحدد. Tuple(UInt64) أمثلة الوضع البسيط
Query
Response
وسيطة واحدة
Query
Response
الوضع الموسَّع، تقليص معامل واحد
Query
Response
استخدام الأعمدة
Query
Response

mortonEncode

أُضيفت في: v24.6.0 تحسب ترميز Morton ‏(ZCurve) لقائمة من الأعداد الصحيحة غير الموقعة. للدالة نمطان للتشغيل:
  • بسيط
  • موسّع*
الوضع البسيط يقبل ما يصل إلى 8 أعداد صحيحة غير موقعة كوسائط ويُنتج قيمة UInt64. الوضع الموسّع يقبل قناع نطاق (Tuple) كوسيط أول، و ما يصل إلى 8 أعداد صحيحة غير موقعة كوسائط أخرى. يحدد كل رقم في القناع مقدار توسيع النطاق:
  • 1 - بدون توسيع
  • 2 - توسيع بمقدار 2x
  • 3 - توسيع بمقدار 3x ⋮
  • توسيع يصل إلى 8x.
الصياغة
الوسيطات
  • args — حتى 8 أعداد صحيحة غير موقَّعة أو أعمدة من النوع المذكور أعلاه. UInt8/16/32/64
  • range_mask — في الوضع الموسَّع، القناع الخاص بكل وسيط. القناع عبارة عن Tuple من أعداد صحيحة غير موقَّعة من 1 إلى 8. ويحدِّد كل رقم في القناع مقدار تقليص النطاق. Tuple(UInt8/16/32/64)
القيمة المُعادة يُرجع رمزًا من النوع UInt64. UInt64 أمثلة الوضع البسيط
Query
Response
الوضع الموسّع
Query
Response
وسيطة واحدة
Query
Response
موسّع لوسيطة واحدة
Query
Response
استخدام الأعمدة
Query
Response

sqidDecode

أُضيفت في: v24.1.0 يفكّ ترميز sqid إلى مصفوفة من الأرقام. الصياغة
الوسيطات
  • sqid — معرّف sqid المطلوب فك ترميزه. String
القيمة المعادة يعيد مصفوفة أرقام من sqid. Array(UInt64) أمثلة مثال على الاستخدام
Query
Response

sqidEncode

ظهر لأول مرة في: v24.1.0 يحوِّل الأرقام إلى sqid، وهي سلسلة معرّفات تشبه معرّفات YouTube. الصيغة
الأسماء البديلة: sqid المعاملات القيمة المعادة يعيد معرّف hash من نوع String أمثلة مثال على الاستخدام
Query
Response

unbin

قُدِّمت في: v21.8.0 تفسِّر كل زوج من الخانات الثنائية (في الوسيطة) على أنه عدد، ثم تحوِّله إلى البايت الذي يمثِّله هذا العدد. وتنفِّذ هذه الدالة العملية العكسية للدالة bin. بالنسبة إلى وسيطة رقمية، لا تُرجع unbin() المعكوس لـ bin(). وإذا أردت تحويل النتيجة إلى عدد، فيمكنك استخدام الدالتين reverse و reinterpretAs<Type>.
إذا جرى استدعاء unbin من داخل clickhouse-client، فستُعرَض السلاسل الثنائية باستخدام UTF-8.
تدعم الخانات الثنائية 0 و1. ولا يلزم أن يكون عدد الخانات الثنائية من مضاعفات الثمانية. وإذا احتوت سلسلة الوسيطة على أي شيء غير الخانات الثنائية، فستكون النتيجة غير معرّفة (من دون طرح أي استثناء). الصيغة
المعاملات
  • arg — سلسلة تحتوي على أي عدد من الخانات الثنائية. String
القيمة المُعادة تُرجِع سلسلة ثنائية (BLOB). String أمثلة الاستخدام الأساسي
Query
Response
حوِّل إلى عدد
Query
Response

unhex

أُضيفت في: v1.1.0 تنفّذ العملية العكسية لـ hex. إذ تفسّر كل زوج من الأرقام السداسية العشرية (في الوسيط) على أنه عدد، ثم تحوّله إلى البايت الذي يمثّله هذا العدد. والقيمة المعادة هي سلسلة ثنائية (BLOB). إذا أردت تحويل النتيجة إلى عدد، يمكنك استخدام الدالتين reverse و reinterpretAs<Type>.
يفسّر clickhouse-client السلاسل على أنها UTF-8. وقد يؤدي ذلك إلى ظهور القيم التي يعيدها hex بشكل غير متوقع.
يدعم الأحرف الكبيرة والصغيرة A-F. ولا يلزم أن يكون عدد الأرقام السداسية العشرية زوجيًا. فإذا كان فرديًا، فسيُفسَّر الرقم الأخير على أنه النصف الأقل أهمية من البايت 00-0F. وإذا احتوت سلسلة الوسيط على أي شيء غير أرقام سداسية عشرية، فستُعاد نتيجة تعتمد على التنفيذ (من دون طرح استثناء). أما بالنسبة إلى الوسيط الرقمي، فلا تنفّذ unhex() معكوس hex(N). الصياغة
المعاملات
  • arg — سلسلة تحتوي على أي عدد من المحارف السداسية العشرية. String أو FixedString
القيمة المُعادة تعيد سلسلة ثنائية (BLOB). String أمثلة الاستخدام الأساسي
Query
Response
حوّل إلى رقم
Query
Response
آخر تعديل في ٢٥ يونيو ٢٠٢٦