الانتقال إلى المحتوى الرئيسي
يتم تناول الدوال الخاصة بـالبحث في السلاسل النصية وبـالاستبدال فيها بشكل منفصل.
يتم إنشاء الوثائق أدناه من جدول النظام system.functions.

CRC32

أُضيف في: v20.1.0 يحسب قيمة المجموع الاختباري ‏CRC32 لسلسلة نصية باستخدام كثير الحدود CRC-32-IEEE 802.3 والقيمة الابتدائية 0xffffffff (بتنفيذ zlib). الصيغة
CRC32(s)
الوسائط
  • s — سلسلة من نوع String يُراد حساب CRC32 لها. String
القيمة المُعادة تُرجع المجموع الاختباري CRC32 للسلسلة. UInt32 أمثلة مثال على الاستخدام
Query
SELECT CRC32('ClickHouse')
Response
┌─CRC32('ClickHouse')─┐
│          1538217360 │
└─────────────────────┘

CRC32IEEE

استُحدث في: v20.1.0 يحسب المجموع الاختباري CRC32 لسلسلة نصية باستخدام كثيرة الحدود CRC-32-IEEE 802.3. الصياغة
CRC32IEEE(s)
المعاملات
  • s — السلسلة النصية المراد حساب قيمة CRC32 لها. String
القيمة المُعادة تُرجع المجموع الاختباري CRC32 للسلسلة النصية. UInt32 أمثلة مثال على الاستخدام
Query
SELECT CRC32IEEE('ClickHouse');
Response
┌─CRC32IEEE('ClickHouse')─┐
│              3089448422 │
└─────────────────────────┘

CRC64

أُضيف في: v20.1.0 يحسب المجموع الاختباري CRC64 لسلسلة باستخدام كثير الحدود CRC-64-ECMA. الصيغة
CRC64(s)
الوسيطات
  • s — قيمة من النوع String يُحسَب لها CRC64. String
القيمة المُعادة يُرجع المجموع الاختباري CRC64 للسلسلة. UInt64 أمثلة مثال على الاستخدام
Query
SELECT CRC64('ClickHouse');
Response
┌──CRC64('ClickHouse')─┐
│ 12126588151325169346 │
└──────────────────────┘

appendTrailingCharIfAbsent

قُدِّمت في: v1.1.0 تُضيف الحرف c إلى السلسلة s إذا كانت s غير فارغة ولا تنتهي بالحرف c. الصياغة
appendTrailingCharIfAbsent(s, c)
الوسيطات
  • s — سلسلة الإدخال. String
  • c — المحرف الذي يُلحَق إذا لم يكن موجودًا. String
القيمة المُعادة تُرجِع السلسلة s بعد إلحاق المحرف c بها إذا كانت s لا تنتهي بـ c. String أمثلة مثال على الاستخدام
Query
SELECT appendTrailingCharIfAbsent('https://example.com', '/');
Response
┌─appendTraili⋯.com', '/')─┐
│ https://example.com/     │
└──────────────────────────┘

ascii

أُضيف في: v22.11.0 يعيد قيمة نقطة رمز ASCII للحرف الأول من السلسلة s كقيمة من النوع Int32. الصيغة
ascii(s)
الوسيطات
  • s — مُدخل من النوع String. String
القيمة المعادة تعيد نقطة الرمز ASCII للمحرف الأول. إذا كانت s فارغة، فالنتيجة هي 0. وإذا لم يكن المحرف الأول محرف ASCII أو لم يكن جزءًا من نطاق Latin-1 Supplement في UTF-16، فالنتيجة غير معرّفة. Int32 أمثلة مثال على الاستخدام
Query
SELECT ascii('234')
Response
┌─ascii('234')─┐
│           50 │
└──────────────┘

base32Decode

استُحدثت في: v25.6.0 تفك ترميز سلسلة Base32 ‏(RFC 4648). إذا لم تكن السلسلة مرمّزة بترميز Base32 صالح، فسيتم رفع استثناء. الصياغة
base32Decode(encoded)
المعاملات
  • encoded — عمود أو ثابت من نوع String. String
القيمة المُعادة تعيد سلسلة تحتوي على القيمة بعد فك ترميز الوسيطة. String أمثلة مثال على الاستخدام
Query
SELECT base32Decode('IVXGG33EMVSA====');
Response
┌─base32Decode('IVXGG33EMVSA====')─┐
│ Encoded                          │
└──────────────────────────────────┘

base32Encode

أُضيف في: v25.6.0 يُشفِّر سلسلة نصية باستخدام Base32. الصيغة
base32Encode(plaintext)
الوسائط
  • plaintext — النص الصريح المطلوب ترميزه. String
القيمة المُعادة تُرجِع سلسلة نصية تحتوي على القيمة المُرمَّزة للوسيطة. String أو FixedString أمثلة مثال على الاستخدام
Query
SELECT base32Encode('Encoded')
Response
┌─base32Encode('Encoded')─┐
│ IVXGG33EMVSA====        │
└─────────────────────────┘

base58Decode

تم تقديمه في: v22.7.0 يفك ترميز سلسلة Base58. إذا لم تكن السلسلة مرمّزة بترميز Base58 صالح، فسيُطرح استثناء. يمكن تمرير وسيطة اختيارية ثانية هي expected_size لاختيار مفكّك ترميز محسّن بحجم ثابت. القيم المدعومة حاليًا هي 32 و64. أما القيم الأخرى، فيُستخدم مفكّك الترميز العام. عند اختيار مفكّك الترميز المحسّن، ولكن يتعذر فك ترميز المُدخل إلى هذا العدد من البايتات بالضبط، تطرح الدالة استثناءً (أو تُرجع سلسلة فارغة في tryBase58Decode). البنية
base58Decode(encoded[, expected_size])
الوسيطات
  • encoded — عمود String أو ثابت لفك ترميزه. String
  • expected_size — اختياري. الحجم المتوقع بعد فك الترميز بالبايت. عندما تكون القيمة 32 أو 64، يُستخدم مفكّك ترميز مُحسَّن؛ وبالنسبة إلى القيم الأخرى، يُستخدم مفكّك الترميز العام. UInt8, UInt16, UInt32, or UInt64
القيمة المُعادة تُرجع سلسلة تحتوي على القيمة الناتجة عن فك ترميز الوسيط. String أمثلة مثال على الاستخدام
Query
SELECT base58Decode('JxF12TrwUP45BMd');
Response
┌─base58Decode⋯rwUP45BMd')─┐
│ Hello World              │
└──────────────────────────┘

base58Encode

أُضيف في: v22.7.0 يُشفِّر سلسلة نصية باستخدام ترميز Base58. الصيغة
base58Encode(plaintext)
الوسائط
  • plaintext — النص الصريح المطلوب ترميزه. String
القيمة المعادة تُرجع سلسلة نصية تحتوي على القيمة المُرمَّزة للوسيطة. String أمثلة مثال على الاستخدام
Query
SELECT base58Encode('ClickHouse');
Response
┌─base58Encode('ClickHouse')─┐
│ 4nhk8K7GHXf6zx             │
└────────────────────────────┘

base64Decode

أُضيفت في: v18.16.0 يفك ترميز سلسلة من تنسيق Base64 وفقًا لـ RFC 4648. يُثير استثناءً عند حدوث خطأ. الصيغة
base64Decode(encoded)
الأسماء المستعارة: FROM_BASE64 المعاملات
  • encoded — عمود أو ثابت من نوع String لفك ترميزه. إذا لم تكن السلسلة النصية مرمّزة بترميز Base64 ترميزًا صالحًا، فسيتم إطلاق استثناء. String
القيمة المُعادة يعيد السلسلة النصية بعد فك ترميزها. String أمثلة مثال على الاستخدام
Query
SELECT base64Decode('Y2xpY2tob3VzZQ==')
Response
┌─base64Decode('Y2xpY2tob3VzZQ==')─┐
│ clickhouse                       │
└──────────────────────────────────┘

base64Encode

أُضيفت في: v18.16.0 يُشفِّر سلسلة نصية بتمثيل Base64، وفقًا للمواصفة RFC 4648. الصياغة
base64Encode(plaintext)
الأسماء البديلة: TO_BASE64 الوسيطات
  • plaintext — عمود أو ثابت من النص الصريح لفك ترميزه. String
القيمة المُعادة تعيد سلسلة تحتوي على القيمة المُرمَّزة للوسيطة. String أمثلة مثال على الاستخدام
Query
SELECT base64Encode('clickhouse')
Response
┌─base64Encode('clickhouse')─┐
│ Y2xpY2tob3VzZQ==           │
└────────────────────────────┘

base64URLDecode

أُضيف في: v24.6.0 يفك ترميز سلسلة من تمثيل Base64 باستخدام أبجدية آمنة لعناوين URL، وفقًا للمعيار RFC 4648. يؤدي إلى إطلاق استثناء في حال حدوث خطأ. الصيغة
base64URLDecode(encoded)
الوسائط
  • encoded — عمود أو ثابت من نوع String لترميزه. إذا لم تكن السلسلة النصية مرمّزة بترميز Base64 ترميزًا صالحًا، فسيُطلق استثناء. String
القيمة المعادة تعيد سلسلة نصية تحتوي على القيمة بعد فك ترميز الوسيطة. String أمثلة مثال على الاستخدام
Query
SELECT base64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')
Response
┌─base64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')─┐
│ https://clickhouse.com                            │
└───────────────────────────────────────────────────┘

base64URLEncode

أُضيف في: v18.16.0 يُرمِّز سلسلة نصية باستخدام تمثيل Base64 ‏(RFC 4648) وبالأبجدية الآمنة لعناوين URL. الصيغة
base64URLEncode(plaintext)
الوسائط
  • plaintext — عمود أو ثابت يحتوي على نص صريح لترميزه. String
القيمة المُعادة تُرجع سلسلة تحتوي على القيمة المُرمَّزة للوسيط. String أمثلة مثال على الاستخدام
Query
SELECT base64URLEncode('https://clickhouse.com')
Response
┌─base64URLEncode('https://clickhouse.com')─┐
│ aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ            │
└───────────────────────────────────────────┘

basename

تم تقديمها في: v20.1.0 تستخرج الجزء الأخير من سلسلة نصية بعد آخر شرطة مائلة أو شرطة مائلة عكسية. وغالبًا ما تُستخدم هذه الدالة لاستخراج اسم الملف من مسار. البنية
basename(expr)
المعاملات
  • expr — تعبير نصي من النوع String. يجب تهريب محارف الشرطة المائلة العكسية. String
القيمة المُعادة تعيد الجزء من سلسلة الإدخال الواقع بعد آخر شرطة مائلة أو شرطة مائلة عكسية. إذا كانت سلسلة الإدخال تنتهي بشرطة مائلة أو شرطة مائلة عكسية، فستُعيد الدالة سلسلة نصية فارغة. وتُعيد السلسلة الأصلية إذا لم تحتوِ على أي شرطات مائلة أو شرطات مائلة عكسية. String أمثلة استخراج اسم الملف من مسار Unix
Query
SELECT 'some/long/path/to/file' AS a, basename(a)
Response
┌─a──────────────────────┬─basename('some/long/path/to/file')─┐
│ some/long/path/to/file │ file                               │
└────────────────────────┴────────────────────────────────────┘
استخراج اسم الملف من مسار Windows
Query
SELECT 'some\\long\\path\\to\\file' AS a, basename(a)
Response
┌─a──────────────────────┬─basename('some\\long\\path\\to\\file')─┐
│ some\long\path\to\file │ file                                   │
└────────────────────────┴────────────────────────────────────────┘
سلسلة نصية من دون فواصل المسارات
Query
SELECT 'some-file-name' AS a, basename(a)
Response
┌─a──────────────┬─basename('some-file-name')─┐
│ some-file-name │ some-file-name             │
└────────────────┴────────────────────────────┘

byteHammingDistance

قُدِّمت في: v23.9.0 تحسب مسافة هامينغ بين سلسلتي بايتات. الصياغة
byteHammingDistance(s1, s2)
الأسماء البديلة: mismatches الوسائط
  • s1 — سلسلة الإدخال الأولى. String
  • s2 — سلسلة الإدخال الثانية. String
القيمة المُعادة تعيد مسافة هامينغ بين السلسلتين. UInt64 أمثلة مثال على الاستخدام
Query
SELECT byteHammingDistance('karolin', 'kathrin')
Response
┌─byteHammingDistance('karolin', 'kathrin')─┐
│                                         3 │
└───────────────────────────────────────────┘

caseFoldUTF8

أُضيف في: v26.3.0 يطبّق طيّ حالة Unicode على سلسلة UTF-8، ويحوّلها إلى صيغة مُطبَّعة شبيهة بالأحرف الصغيرة ومناسبة للمقارنات غير الحساسة لحالة الأحرف. يطبّق طيّ حالة Unicode القياسي. ويحافظ على محارف التوافق التي لا تتأثر بطيّ الحالة (مثل الأرقام الرومانية والأرقام داخل دوائر)، ولكن تجدر الإشارة إلى أن بعض الروابط الطباعية مثل لا تزال تُفكَّك لأن طيّ حالة Unicode نفسه يوسّعها. الصياغة
caseFoldUTF8(str)
الوسائط
  • str — سلسلة إدخال مرمَّزة بترميز UTF-8. String
القيمة المعادة سلسلة UTF-8 بعد طيّ حالة الأحرف. String أمثلة الطيّ الأساسي لحالة الأحرف
Query
SELECT caseFoldUTF8('Straße')
Response
┌─caseFoldUTF8('Straße')─┐
│ strasse                 │
└─────────────────────────┘

compareSubstrings

أُضيف في: v25.2.0 يقارن سلسلتين نصيتين ترتيبًا معجميًا. الصيغة
compareSubstrings(s1, s2, s1_offset, s2_offset, num_bytes)
الوسائط
  • s1 — السلسلة الأولى للمقارنة. String
  • s2 — السلسلة الثانية للمقارنة. String
  • s1_offset — الموضع في s1 الذي تبدأ منه المقارنة (بدءًا من الصفر). UInt*
  • s2_offset — الموضع في s2 الذي تبدأ منه المقارنة (فهرس يبدأ من الصفر). UInt*
  • num_bytes — الحد الأقصى لعدد البايتات المراد مقارنتها في كلتا السلسلتين. إذا كان s1_offset (أو s2_offset) + num_bytes يتجاوز نهاية سلسلة الإدخال، فسيُخفَّض num_bytes تبعًا لذلك. UInt*
القيمة المعادة يعيد ما يلي:
  • -1 إذا كانت s1[s1_offset : s1_offset + num_bytes] < s2[s2_offset : s2_offset + num_bytes].
  • 0 إذا كانت s1[s1_offset : s1_offset + num_bytes] = s2[s2_offset : s2_offset + num_bytes].
  • 1 إذا كانت s1[s1_offset : s1_offset + num_bytes] > s2[s2_offset : s2_offset + num_bytes]. Int8
أمثلة مثال على الاستخدام
Query
SELECT compareSubstrings('Saxony', 'Anglo-Saxon', 0, 6, 5) AS result
Response
┌─result─┐
│      0 │
└────────┘

concat

أُضيفت في: v1.1.0 يضمّ المعاملات المُعطاة إلى بعضها. تُحوَّل المعاملات التي لا تكون من النوعين String أو FixedString إلى سلاسل نصية باستخدام آلية التسلسل الافتراضية الخاصة بها. ونظرًا إلى أن ذلك يخفّض الأداء، فلا يُنصح باستخدام معاملات ليست من نوع String/FixedString. البنية
concat([s1, s2, ...])
الوسيطات
  • s1, s2, ... — أي عدد من القيم من أي نوع. Any
القيمة المُعادة تعيد الدالة قيمة من نوع String ناتجة عن دمج الوسيطات. إذا كانت أي من الوسيطات NULL، فستُعيد الدالة NULL. وإذا لم تكن هناك أي وسيطات، فستُعيد سلسلة فارغة. Nullable(String) أمثلة دمج السلاسل النصية
Query
SELECT concat('Hello, ', 'World!')
Response
┌─concat('Hello, ', 'World!')─┐
│ Hello, World!               │
└─────────────────────────────┘
دمج الأرقام
Query
SELECT concat(42, 144)
Response
┌─concat(42, 144)─┐
│ 42144           │
└─────────────────┘

concatAssumeInjective

تم تقديمها في: v1.1.0 مثل concat، لكنها تفترض أن concat(s1, s2, ...) → sn دالة حقنية، أي إنها تُرجع قيماً مختلفة لوسائط مختلفة. يمكن استخدامها لتحسين GROUP BY. الصيغة
concatAssumeInjective([s1, s2, ...])
الوسائط القيمة المعادة تعيد السلسلة النصية المُنشأة بضم الوسائط. إذا كانت أي من قيم الوسائط هي NULL، فستعيد الدالة NULL. وإذا لم يتم تمرير أي وسائط، فستعيد سلسلة نصية فارغة. String أمثلة تحسين Group by
Query
SELECT concat(key1, key2), sum(value) FROM key_val GROUP BY concatAssumeInjective(key1, key2)
Response
┌─concat(key1, key2)─┬─sum(value)─┐
│ Hello, World!      │          3 │
│ Hello, World!      │          2 │
│ Hello, World       │          3 │
└────────────────────┴────────────┘

concatWithSeparator

أُضيفت في: v22.12.0 تجمع السلاسل النصية المقدَّمة، مع الفصل بينها باستخدام الفاصل المحدد. الصيغة
concatWithSeparator(sep[, exp1, exp2, ...])
الأسماء البديلة: concat_ws الوسيطات
  • sep — الفاصل المطلوب استخدامه. const String أو const FixedString
  • exp1, exp2, ... — التعبير المراد ضمّه. تُحوَّل الوسيطات التي لا يكون نوعها String أو FixedString إلى سلاسل نصية باستخدام التسلسل الافتراضي لها. ونظرًا إلى أن هذا يخفّض الأداء، فلا يُنصح باستخدام وسيطات ليست من النوع String/FixedString. Any
القيمة المُعادة تعيد الدالة سلسلة String ناتجة عن ضمّ الوسيطات. إذا كانت أي من قيم الوسيطات تساوي NULL، فستُرجع الدالة NULL. String أمثلة مثال استخدام
Query
SELECT concatWithSeparator('a', '1', '2', '3', '4')
Response
┌─concatWithSeparator('a', '1', '2', '3', '4')─┐
│ 1a2a3a4                                      │
└──────────────────────────────────────────────┘

concatWithSeparatorAssumeInjective

أُضيف في: v22.12.0 يشبه concatWithSeparator، لكنه يفترض أن concatWithSeparator(sep[,exp1, exp2, ... ]) → result دالة حقنية. تُسمى الدالة حقنية إذا كانت تُرجِع نتائج مختلفة لوسائط مختلفة. يمكن استخدامه لتحسين GROUP BY. البنية
concatWithSeparatorAssumeInjective(sep[, exp1, exp2, ... ])
الوسيطات
  • sep — الفاصل المراد استخدامه. const String أو const FixedString
  • exp1, exp2, ... — التعبير المراد ربطه. تُحوَّل الوسيطات التي لا تكون من النوع String أو FixedString إلى سلاسل نصية باستخدام التسلسل الافتراضي الخاص بها. ونظرًا لأن هذا يخفّض الأداء، فلا يُنصح باستخدام وسيطات ليست من النوع String/FixedString. String أو FixedString
القيمة المُعادة تعيد الدالة String الناتج عن ربط الوسيطات. إذا كانت أي من قيم الوسيطات NULL، فستُعيد الدالة NULL. String أمثلة مثال على الاستخدام
Query
CREATE TABLE user_data (
user_id UInt32,
first_name String,
last_name String,
score UInt32
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO user_data VALUES
(1, 'John', 'Doe', 100),
(2, 'Jane', 'Smith', 150),
(3, 'John', 'Wilson', 120),
(4, 'Jane', 'Smith', 90);

SELECT
    concatWithSeparatorAssumeInjective('-', first_name, last_name) as full_name,
    sum(score) as total_score
FROM user_data
GROUP BY concatWithSeparatorAssumeInjective('-', first_name, last_name);
Response
┌─full_name───┬─total_score─┐
│ Jane-Smith  │         240 │
│ John-Doe    │         100 │
│ John-Wilson │         120 │
└─────────────┴─────────────┘

conv

أُضيف في: v25.10.0 يحوّل الأرقام بين قواعد عددية مختلفة. تُحوّل هذه الدالة رقماً من قاعدة عددية إلى أخرى. وهي تدعم القواعد من 2 إلى 36. وبالنسبة إلى القواعد الأكبر من 10، تُستخدم الأحرف A-Z (دون حساسية لحالة الأحرف) لتمثيل الأرقام من 10 إلى 35. هذه الدالة متوافقة مع الدالة CONV() في MySQL. الصيغة
conv(number, from_base, to_base)
المعاملات
  • number — الرقم المراد تحويله. يمكن أن يكون سلسلة نصية أو نوعًا رقميًا. - from_base — الأساس الأصلي (2-36). يجب أن يكون عددًا صحيحًا. - to_base — الأساس الهدف (2-36). يجب أن يكون عددًا صحيحًا.
القيمة المعادة التمثيل النصي للرقم بالأساس الهدف. أمثلة تحويل العدد العشري إلى الثنائي
Query
SELECT conv('10', 10, 2)
Response
1010
تحويل من السداسي عشري إلى العشري
Query
SELECT conv('FF', 16, 10)
Response
255
التحويل باستخدام عدد سالب
Query
SELECT conv('-1', 10, 16)
Response
FFFFFFFFFFFFFFFF
التحويل من الثنائي إلى الثماني
Query
SELECT conv('1010', 2, 8)
Response
12

convertCharset

أُضيف في: v1.1.0 يُرجع السلسلة s بعد تحويل ترميزها من from إلى to. الصياغة
convertCharset(s, from, to)
المعاملات
  • s — سلسلة الإدخال. String
  • from — ترميز الأحرف المصدري. String
  • to — ترميز الأحرف المستهدف. String
القيمة المعادة تعيد السلسلة s بعد تحويل ترميزها من from إلى to. String أمثلة مثال على الاستخدام
Query
SELECT convertCharset('Café', 'UTF-8', 'ISO-8859-1');
Response
┌─convertChars⋯SO-8859-1')─┐
│ Caf�                     │
└──────────────────────────┘

damerauLevenshteinDistance

أُضيفت في: v24.1.0 تحسب مسافة Damerau-Levenshtein بين سلسلتين من البايتات. الصيغة
damerauLevenshteinDistance(s1, s2)
الوسائط
  • s1 — سلسلة الإدخال الأولى. String
  • s2 — سلسلة الإدخال الثانية. String
القيمة المُعادة تُرجِع مسافة داميراو-ليفنشتاين بين السلسلتين. UInt64 أمثلة مثال على الاستخدام
Query
SELECT damerauLevenshteinDistance('clickhouse', 'mouse')
Response
┌─damerauLevenshteinDistance('clickhouse', 'mouse')─┐
│                                                 6 │
└───────────────────────────────────────────────────┘

decodeHTMLComponent

أُضيف في: v23.9.0 يفكّ ترميز كيانات HTML في سلسلة نصية إلى الأحرف المقابلة لها. الصيغة
decodeHTMLComponent(s)
المعاملات
  • s — سلسلة نصية من نوع String تحتوي على كيانات HTML المطلوب فك ترميزها. String
القيمة المُعادة تُعيد السلسلة النصية بعد فك ترميز كيانات HTML. String أمثلة مثال على الاستخدام
Query
SELECT decodeHTMLComponent('&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;')
Response
┌─decodeHTMLComponent('&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;')─┐
│ <div>Hello & "World"</div>                                                  │
└─────────────────────────────────────────────────────────────────────────────┘

decodeXMLComponent

أُضيف في: v21.2.0 يفك ترميز كيانات XML في سلسلة نصية إلى الأحرف المقابلة لها. الصيغة
decodeXMLComponent(s)
المعاملات
  • s — قيمة من النوع String تحتوي على كيانات XML المطلوب فك ترميزها. String
القيمة المُعادة تُرجِع السلسلة المُمرَّرة بعد فك ترميز كيانات XML. String أمثلة مثال على الاستخدام
Query
SELECT decodeXMLComponent('&lt;tag&gt;Hello &amp; World&lt;/tag&gt;')
Response
┌─decodeXMLCom⋯;/tag&gt;')─┐
│ <tag>Hello & World</tag> │
└──────────────────────────┘

editDistance

استُحدث في: v23.9.0 تحسب مسافة التحرير بين سلسلتي بايت. الصيغة
editDistance(s1, s2)
الأسماء البديلة: levenshteinDistance المعاملات
  • s1 — سلسلة الإدخال الأولى. String
  • s2 — سلسلة الإدخال الثانية. String
القيمة المعادة تعرض مسافة التحرير بين السلسلتين. UInt64 أمثلة مثال للاستخدام
Query
SELECT editDistance('clickhouse', 'mouse')
Response
┌─editDistance('clickhouse', 'mouse')─┐
│                                   6 │
└─────────────────────────────────────┘

editDistanceUTF8

أُضيفت في: v24.6.0 تحسب مسافة التحرير بين سلسلتين نصيتين بترميز UTF8. الصيغة
editDistanceUTF8(s1, s2)
الأسماء البديلة: levenshteinDistanceUTF8 المعاملات
  • s1 — سلسلة الإدخال الأولى. String
  • s2 — سلسلة الإدخال الثانية. String
القيمة المعادة تُرجع مسافة التحرير بين سلسلتي UTF8. UInt64 أمثلة مثال على الاستخدام
Query
SELECT editDistanceUTF8('我是谁', '我是我')
Response
┌─editDistanceUTF8('我是谁', '我是我')──┐
│                                   1 │
└─────────────────────────────────────┘

encodeXMLComponent

تمت إضافته في: v21.1.0 يُهرِّب الأحرف لإدراج السلسلة في عقدة نصية في XML أو في سمة. الصيغة
encodeXMLComponent(s)
المعاملات
  • s — السلسلة النصية المطلوب تهريب محارفها. String
القيمة المُعادة تُعيد السلسلة النصية بعد تهريب محارفها. String أمثلة مثال على الاستخدام
Query
SELECT
    '<tag>Hello & "World"</tag>' AS original,
    encodeXMLComponent('<tag>Hello & "World"</tag>') AS xml_encoded;
Response
┌─original───────────────────┬─xml_encoded──────────────────────────────────────────┐
│ <tag>Hello & "World"</tag> │ &lt;tag&gt;Hello &amp; &quot;World&quot;&lt;/tag&gt; │
└────────────────────────────┴──────────────────────────────────────────────────────┘

endsWith

أُضيف في: v1.1.0 يتحقق مما إذا كانت السلسلة تنتهي باللاحقة المحددة. الصيغة
endsWith(s, suffix)
المعاملات
  • s — السلسلة النصية المراد التحقق منها. String
  • suffix — اللاحقة المراد التحقق منها. String
القيمة المُعادة تعيد 1 إذا كانت s تنتهي بـ suffix، وإلا فتعيد 0. UInt8 أمثلة مثال للاستخدام
Query
SELECT endsWith('ClickHouse', 'House');
Response
┌─endsWith('Cl⋯', 'House')─┐
│                        1 │
└──────────────────────────┘

endsWithCaseInsensitive

أُضيف في: v25.10.0 يتحقق مما إذا كانت السلسلة تنتهي باللاحقة المقدَّمة مع تجاهل حالة الأحرف. الصيغة
endsWithCaseInsensitive(s, suffix)
المعاملات
  • s — سلسلة المراد التحقق منها. String
  • suffix — اللاحقة غير الحساسة لحالة الأحرف المراد التحقق منها. String
القيمة المعادة تعيد 1 إذا كانت s تنتهي باللاحقة suffix دون حساسية لحالة الأحرف، وإلا فتعيد 0. UInt8 أمثلة مثال استخدام
Query
SELECT endsWithCaseInsensitive('ClickHouse', 'HOUSE');
Response
┌─endsWithCaseInsensitive('Cl⋯', 'HOUSE')─┐
│                                       1 │
└─────────────────────────────────────────┘

endsWithCaseInsensitiveUTF8

أُضيفت في: v25.10.0 تُرجع ما إذا كانت السلسلة s تنتهي باللاحقة suffix مع تجاهل حالة الأحرف. تفترض أن السلسلة تحتوي على نص صالح بترميز UTF-8. إذا انتُهك هذا الافتراض، فلا يُطرَح أي استثناء وتكون النتيجة غير معرّفة. الصيغة
endsWithCaseInsensitiveUTF8(s, suffix)
المعاملات
  • s — السلسلة النصية المطلوب التحقق منها. String
  • suffix — اللاحقة المطلوب التحقق منها دون مراعاة حالة الأحرف. String
القيمة المُعادة يُرجع 1 إذا كانت s تنتهي باللاحقة suffix دون مراعاة حالة الأحرف، وإلا فيُرجع 0. UInt8 أمثلة مثال للاستخدام
Query
SELECT endsWithCaseInsensitiveUTF8('данных', 'ых');
Response
┌─endsWithCaseInsensitiveUTF8('данных', 'ых')─┐
│                                           1 │
└─────────────────────────────────────────────┘

endsWithUTF8

استُحدثت في: v23.8.0 تُرجع ما إذا كانت السلسلة s تنتهي باللاحقة suffix. تفترض أن السلسلة تحتوي على نص صحيح بترميز UTF-8. إذا لم يصح هذا الافتراض، فلا يُطرَح أي استثناء وتكون النتيجة غير معرّفة. الصيغة
endsWithUTF8(s, suffix)
المعاملات
  • s — السلسلة النصية المطلوب التحقق منها. String
  • suffix — اللاحقة المطلوب التحقق منها. String
القيمة المُعادة تُعيد 1 إذا كانت s تنتهي بـ suffix، وإلا فتُعيد 0. UInt8 أمثلة مثال على الاستخدام
Query
SELECT endsWithUTF8('данных', 'ых');
Response
┌─endsWithUTF8('данных', 'ых')─┐
│                            1 │
└──────────────────────────────┘

extractTextFromHTML

قُدِّمت في: v21.3.0 تستخرج المحتوى النصي من HTML أو XHTML. تزيل هذه الدالة وسوم HTML والتعليقات وعناصر script/style، ولا تُبقي إلا المحتوى النصي. وهي تتعامل مع:
  • إزالة جميع وسوم HTML/XML
  • إزالة التعليقات ({/* */})
  • إزالة عناصر script وstyle مع محتواها
  • معالجة مقاطع CDATA (تُنسخ حرفيًا كما هي)
  • التعامل الصحيح مع المسافات البيضاء وتوحيدها
ملاحظة: لا يتم فك ترميز كيانات HTML، ويجب معالجتها بدالة منفصلة إذا لزم الأمر. الصيغة
extractTextFromHTML(html)
المعاملات
  • htmlString يحتوي على محتوى HTML لاستخراج النص منه. String
القيمة المعادة يعيد محتوى النص المستخرج بعد توحيد المسافات البيضاء. String أمثلة مثال على الاستخدام
Query
SELECT extractTextFromHTML('
<html>
    <head><title>Page Title</title></head>
    <body>
        <p>Hello <b>World</b>!</p>
        <script>alert("test");</script>
        <!-- comment -->
    </body>
</html>
');
Response
┌─extractTextFromHTML('<html><head>...')─┐
│ Page Title Hello World!                │
└────────────────────────────────────────┘

firstLine

أُضيفت في: v23.7.0 تُرجع السطر الأول من سلسلة نصية متعددة الأسطر. الصيغة
firstLine(s)
المعاملات
  • s — سلسلة الإدخال. String
القيمة المُعادة يعيد السطر الأول من سلسلة الإدخال، أو السلسلة كاملةً إذا لم تكن هناك فواصل أسطر. String أمثلة مثال للاستخدام
Query
SELECT firstLine('foo\\nbar\\nbaz')
Response
┌─firstLine('foo\nbar\nbaz')─┐
│ foo                        │
└────────────────────────────┘

idnaDecode

استُحدث في: v24.1.0 يعيد التمثيل بصيغة Unicode ‏(UTF-8) (خوارزمية ToUnicode) لاسم نطاق وفقًا لآلية Internationalized Domain Names in Applications ‏(IDNA). في حال حدوث خطأ (على سبيل المثال، إذا كانت قيمة الإدخال غير صالحة)، تُعاد سلسلة الإدخال. لاحظ أن التكرار في تطبيق كلٍّ من idnaEncode() وidnaDecode() لا يعيد بالضرورة السلسلة الأصلية بسبب تسوية حالة الأحرف. الصيغة
idnaDecode(s)
المعاملات
  • s — سلسلة الإدخال. String
القيمة المُعادة يعيد تمثيل Unicode ‏(UTF-8) لسلسلة الإدخال وفقًا لآلية IDNA لقيمة الإدخال. String أمثلة مثال على الاستخدام
Query
SELECT idnaDecode('xn--strae-oqa.xn--mnchen-3ya.de')
Response
┌─idnaDecode('xn--strae-oqa.xn--mnchen-3ya.de')─┐
│ straße.münchen.de                             │
└───────────────────────────────────────────────┘

idnaEncode

قُدِّم في: v24.1.0 يعيد التمثيل بصيغة ASCII (خوارزمية ToASCII) لاسم نطاق وفقًا لآلية أسماء النطاقات الدولية في التطبيقات ‏(IDNA). يجب أن تكون سلسلة الإدخال بترميز UTF وقابلة للتحويل إلى سلسلة ASCII، وإلا فسيتم طرح استثناء.
لا يُجرى أي فك لترميز النسبة المئوية أو إزالة لعلامات الجدولة أو المسافات أو محارف التحكّم.
الصيغة
idnaEncode(s)
المعاملات
  • s — سلسلة الإدخال. String
القيمة المُعادة تُرجع تمثيلًا بصيغة ASCII لسلسلة الإدخال وفقًا لآلية IDNA الخاصة بقيمة الإدخال. String أمثلة مثال على الاستخدام
Query
SELECT idnaEncode('straße.münchen.de')
Response
┌─idnaEncode('straße.münchen.de')─────┐
│ xn--strae-oqa.xn--mnchen-3ya.de     │
└─────────────────────────────────────┘

initcap

أُضيفت في: v23.7.0 تحوّل الحرف الأول من كل كلمة إلى حرف كبير، وتحول بقية الأحرف إلى أحرف صغيرة. والكلمات هي سلاسل من الأحرف والأرقام تفصل بينها محارف غير أبجدية رقمية.
لأن initcap يحوّل فقط الحرف الأول من كل كلمة إلى حرف كبير، فقد تلاحظ سلوكًا غير متوقع في الكلمات التي تحتوي على فاصلات عليا أو أحرف كبيرة. هذا سلوك معروف، ولا توجد حاليًا أي خطط لإصلاحه.
الصيغة
initcap(s)
المعاملات
  • s — سلسلة الإدخال. String
القيمة المعادة تعيد s بعد تحويل الحرف الأول من كل كلمة إلى حرف كبير. String أمثلة مثال على الاستخدام
Query
SELECT initcap('building for fast')
Response
┌─initcap('building for fast')─┐
│ Building For Fast            │
└──────────────────────────────┘
مثال على سلوك معروف للكلمات التي تحتوي على فاصلات عليا أو أحرف كبيرة
Query
SELECT initcap('John''s cat won''t eat.');
Response
┌─initcap('Joh⋯n\'t eat.')─┐
│ John'S Cat Won'T Eat.    │
└──────────────────────────┘

initcapUTF8

أُضيفت في: v23.7.0 مثل initcap، تحوّل initcapUTF8 الحرف الأول من كل كلمة إلى حرف كبير وباقي الأحرف إلى أحرف صغيرة. يفترض أن السلسلة تحتوي على نص صالح بترميز UTF-8. إذا لم يتحقق هذا الافتراض، فلا يُطرَح أي استثناء وتكون النتيجة غير معرّفة.
لا تكتشف هذه الدالة اللغة؛ فعلى سبيل المثال، قد لا تكون النتيجة صحيحة تمامًا في التركية (i/İ مقابل i/I). إذا اختلف طول تسلسل بايتات UTF-8 بين الحالتين الكبيرة والصغيرة لنقطة ترميز، فقد تكون النتيجة غير صحيحة لهذه النقطة الترميزية.
الصيغة
initcapUTF8(s)
المعاملات
  • s — السلسلة النصية المُدخلة. String
القيمة المُعادة يعيد s بعد تحويل الحرف الأول من كل كلمة إلى حرف كبير. String أمثلة مثال على الاستخدام
Query
SELECT initcapUTF8('не тормозит')
Response
┌─initcapUTF8('не тормозит')─┐
│ Не Тормозит                │
└────────────────────────────┘

isValidASCII

أُضيفت في: v25.9.0 تُرجع 1 إذا كانت قيمة String أو FixedString المُدخلة تحتوي فقط على بايتات ASCII ‏(0x00–0x7F)، وإلا فتُرجع 0. وهي مُحسّنة للحالة الإيجابية (أي عندما يكون المُدخل ASCII صالحًا). الصيغة
isValidASCII(str)
اسم بديل: isASCII المعاملات
  • لا شيء.
القيمة المُعادة أمثلة isValidASCII
Query
SELECT isValidASCII('hello') AS is_ascii, isValidASCII('你好') AS is_not_ascii
Response

isValidUTF8

استُحدث في: v20.1.0 يتحقق مما إذا كانت مجموعة البايتات تمثل نصًا صحيحًا بترميز UTF-8. الصيغة
isValidUTF8(s)
المعاملات
  • s — السلسلة المطلوب التحقّق من صلاحية ترميزها بتنسيق UTF-8. String
القيمة المُعادة تُرجِع 1 إذا كانت مجموعة البايتات تُشكّل نصًا صالحًا بترميز UTF-8، وإلا فتُرجِع 0. UInt8 أمثلة مثال على الاستخدام
Query
SELECT isValidUTF8('\\xc3\\xb1') AS valid, isValidUTF8('\\xc3\\x28') AS invalid
Response
┌─valid─┬─invalid─┐
│     1 │       0 │
└───────┴─────────┘

jaroSimilarity

قُدِّمت في: v24.1.0 يحسب تشابه Jaro بين سلسلتين من البايتات. الصيغة
jaroSimilarity(s1, s2)
المعاملات
  • s1 — سلسلة الإدخال الأولى. String
  • s2 — سلسلة الإدخال الثانية. String
القيمة المُعادة تُرجِع قيمة تشابه Jaro بين السلسلتين. Float64 أمثلة مثال على الاستخدام
Query
SELECT jaroSimilarity('clickhouse', 'click')
Response
┌─jaroSimilarity('clickhouse', 'click')─┐
│                    0.8333333333333333 │
└───────────────────────────────────────┘

jaroWinklerSimilarity

أُضيفت في: v24.1.0 تحسب تشابه Jaro-Winkler بين سلسلتي بايتات. الصيغة
jaroWinklerSimilarity(s1, s2)
المعاملات
  • s1 — سلسلة الإدخال الأولى. String
  • s2 — سلسلة الإدخال الثانية. String
القيمة المُعادة تعيد قيمة تشابه Jaro-Winkler بين السلسلتين. Float64 أمثلة مثال على الاستخدام
Query
SELECT jaroWinklerSimilarity('clickhouse', 'click')
Response
┌─jaroWinklerSimilarity('clickhouse', 'click')─┐
│                           0.8999999999999999 │
└──────────────────────────────────────────────┘

left

أُضيفت في: v22.1.0 تُرجع سلسلة فرعية من السلسلة s وفق قيمة offset المحددة، بدءًا من اليسار. الصيغة
left(s, offset)
المعاملات
  • s — السلسلة التي تُستخرج منها سلسلة فرعية. String أو FixedString
  • offset — عدد بايتات الإزاحة. (U)Int*
القيمة المعادة يعيد:
  • إذا كانت قيمة offset موجبة، فستكون النتيجة سلسلة فرعية من s بطول offset بايتًا، تبدأ من يسار السلسلة.
  • إذا كانت قيمة offset سالبة، فستكون النتيجة سلسلة فرعية من s بطول length(s) - |offset| بايتًا، تبدأ من يسار السلسلة.
  • سلسلة فارغة إذا كانت length تساوي 0. String
أمثلة إزاحة موجبة
Query
SELECT left('Hello World', 5)
Response
Hello
الإزاحة السالبة
Query
SELECT left('Hello World', -6)
Response
Hello

leftPad

تم تقديمه في: v21.8.0 يضيف حشوة إلى يسار سلسلة نصية باستخدام مسافات أو سلسلة نصية محددة (وتُكرَّر عند الحاجة) حتى يصل طول السلسلة الناتجة إلى قيمة length المحددة. الصيغة
leftPad(string, length[, pad_string])
اسم بديل: lpad المعاملات
  • string — سلسلة الإدخال المطلوب حشوها. String
  • length — طول السلسلة الناتجة. إذا كانت القيمة أصغر من طول سلسلة الإدخال، فستُختصر سلسلة الإدخال إلى length حرفًا. (U)Int*
  • pad_string — اختياري. السلسلة المستخدمة لحشو سلسلة الإدخال. إذا لم تُحدَّد، فستُحشى سلسلة الإدخال بمسافات. String
القيمة المعادة تعيد سلسلة محشوة من اليسار بالطول المحدد. String أمثلة مثال على الاستخدام
Query
SELECT leftPad('abc', 7, '*'), leftPad('def', 7)
Response
┌─leftPad('abc', 7, '*')─┬─leftPad('def', 7)─┐
│ ****abc                │     def           │
└────────────────────────┴───────────────────┘

leftPadUTF8

أُضيف في: v21.8.0 يملأ سلسلة UTF8 النصية من اليسار بمسافات أو بسلسلة محددة (عدة مرات عند الحاجة) حتى يصل طول السلسلة الناتجة إلى الطول المحدد. وعلى خلاف leftPad الذي يقيس طول السلسلة بالبايتات، يُقاس طول السلسلة بنقاط الترميز. الصيغة
leftPadUTF8(string, length[, pad_string])
المعاملات
  • string — سلسلة الإدخال المطلوب حشوها. String
  • length — طول السلسلة الناتجة. إذا كانت القيمة أصغر من طول سلسلة الإدخال، فستُقصَّر سلسلة الإدخال إلى length حرفًا. (U)Int*
  • pad_string — اختياري. السلسلة المستخدمة لحشو سلسلة الإدخال. إذا لم يتم تحديدها، فسيُحشَى الإدخال بمسافات. String
القيمة المُعادة يعيد سلسلة محشوة من اليسار بالطول المحدد. String أمثلة مثال على الاستخدام
Query
SELECT leftPadUTF8('абвг', 7, '*'), leftPadUTF8('дежз', 7)
Response
┌─leftPadUTF8('абвг', 7, '*')─┬─leftPadUTF8('дежз', 7)─┐
│ ***абвг                     │    дежз                │
└─────────────────────────────┴────────────────────────┘

leftUTF8

أُضيف في: v22.1.0 يعيد سلسلة فرعية من السلسلة النصية s المرمّزة بترميز UTF-8 باستخدام offset محدد يبدأ من اليسار. الصيغة
leftUTF8(s, offset)
المعاملات
  • s — السلسلة النصية المرمّزة بترميز UTF-8 المراد استخراج مقطع فرعي منها. String أو FixedString
  • offset — عدد بايتات الإزاحة. (U)Int*
القيمة المعادة يعيد:
  • إذا كانت قيمة offset موجبة، يُعاد مقطع فرعي من s بطول offset بايتًا، بدءًا من يسار السلسلة النصية.\n”
  • إذا كانت قيمة offset سالبة، يُعاد مقطع فرعي من s بطول length(s) - |offset| بايتًا، بدءًا من يسار السلسلة النصية.\n”
  • سلسلة نصية فارغة إذا كانت length تساوي 0. String
أمثلة إزاحة موجبة
Query
SELECT leftUTF8('Привет', 4)
Response
Прив
الإزاحة السالبة
Query
SELECT leftUTF8('Привет', -4)
Response
Пр

lengthUTF8

تم تقديمها في: v1.1.0 تعيد طول سلسلة نصية بعدد نقاط الترميز في Unicode بدلًا من البايتات أو الأحرف. وتفترض أن السلسلة تحتوي على نص صالح مُرمَّز بترميز UTF-8. إذا لم يتحقق هذا الافتراض، فلا يُطرح أي استثناء وتكون النتيجة غير معرّفة. الصيغة
lengthUTF8(s)
الأسماء البديلة: CHARACTER_LENGTH, CHAR_LENGTH المعاملات
  • sString يحتوي على نص صالح مُرمَّز بترميز UTF-8. String
القيمة المعادة طول السلسلة s محسوبًا بعدد نقاط الترميز في Unicode. UInt64 أمثلة مثال على الاستخدام
Query
SELECT lengthUTF8('Здравствуй, мир!')
Response
┌─lengthUTF8('Здравствуй, мир!')─┐
│                             16 │
└────────────────────────────────┘

lower

أُضيفت في: v1.1.0 يحوّل سلسلة ASCII إلى أحرف صغيرة. الصيغة
lower(s)
الأسماء البديلة: lcase الوسائط
  • s — سلسلة نصية لتحويلها إلى أحرف صغيرة. String
القيمة المعادة تُرجِع سلسلة نصية من s بأحرف صغيرة. String أمثلة مثال على الاستخدام
Query
SELECT lower('CLICKHOUSE')
Response
┌─lower('CLICKHOUSE')─┐
│ clickhouse          │
└─────────────────────┘

lowerUTF8

أُضيفت في: v1.1.0 تُحوِّل سلسلة نصية إلى أحرف صغيرة، على افتراض أن السلسلة تحتوي على نص صالح مُرمَّز بترميز UTF-8. وإذا لم يتحقق هذا الافتراض، فلا يتم طرح أي استثناء وتكون النتيجة غير معرّفة. البنية
lowerUTF8(input)
الوسائط
  • input — السلسلة النصية المُدخلة المطلوب تحويلها إلى أحرف صغيرة. String
القيمة المُعادة تعيد سلسلة نصية بأحرف صغيرة. String أمثلة الأول
Query
SELECT lowerUTF8('München') as Lowerutf8;
Response
münchen

naturalSortKey

قُدِّمت في: v26.3.0 تُستخدم هذه الدالة للفرز الطبيعي. البنية
naturalSortKey(s)
الأسماء البديلة: NATURAL_SORT_KEY المعاملات
  • s — سلسلة نصية لتحويلها إلى مفتاح فرز طبيعي. String
القيمة المُعادة يعيد سلسلة نصية لمفتاح فرز طبيعي من s. String أمثلة مثال على الاستخدام
Query
SELECT s FROM t ORDER BY naturalSortKey(s)
Response
┌─s───┐
│ a1  │
| a02 │
└─────┘

normalizeUTF8NFC

قُدِّمت في: v21.11.0 تُطبِّع سلسلة UTF-8 وفقًا لـ صيغة التطبيع NFC. البنية
normalizeUTF8NFC(str)
المعاملات
  • str — سلسلة الإدخال المرمّزة بترميز UTF-8. String
القيمة المُعادة تعيد الصيغة المُطبَّعة وفق NFC لسلسلة UTF-8. String أمثلة مثال على الاستخدام
Query
SELECT
'é' AS original, -- e + combining acute accent (U+0065 + U+0301)
length(original),
normalizeUTF8NFC('é') AS nfc_normalized, -- é (U+00E9)
length(nfc_normalized);
Response
┌─original─┬─length(original)─┬─nfc_normalized─┬─length(nfc_normalized)─┐
│ é        │                2 │ é              │                      2 │
└──────────┴──────────────────┴────────────────┴────────────────────────┘

normalizeUTF8NFD

تم تقديمها في: v21.11.0 تُطبِّع سلسلة نصية بترميز UTF-8 وفقًا لـ صيغة التطبيع NFD. الصيغة
normalizeUTF8NFD(str)
الوسيطات
  • str — سلسلة الإدخال المرمّزة بترميز UTF-8. String
القيمة المعادة تعيد الصيغة المعيارية NFD للسلسلة المرمّزة بترميز UTF-8. String أمثلة مثال على الاستخدام
Query
SELECT
    'é' AS original, -- é (U+00E9)
    length(original),
    normalizeUTF8NFD('é') AS nfd_normalized, -- e + combining acute (U+0065 + U+0301)
    length(nfd_normalized);
Response
┌─original─┬─length(original)─┬─nfd_normalized─┬─length(nfd_normalized)─┐
│ é        │                2 │ é              │                      3 │
└──────────┴──────────────────┴────────────────┴────────────────────────┘

normalizeUTF8NFKC

أُضيف في: v21.11.0 يُطبِّع سلسلة نصية بترميز UTF-8 وفقًا لـصيغة التطبيع NFKC. البنية
normalizeUTF8NFKC(str)
الوسائط
  • str — السلسلة النصية المُدخلة والمشفَّرة بترميز UTF-8. String
القيمة المُعادة تُعيد الصيغة المعيارية NFKC لسلسلة UTF-8 النصية. String أمثلة مثال على الاستخدام
Query
SELECT
    '① ② ③' AS original,                            -- Circled number characters
    normalizeUTF8NFKC('① ② ③') AS nfkc_normalized;  -- Converts to 1 2 3
Response
┌─original─┬─nfkc_normalized─┐
│ ① ② ③  │ 1 2 3           │
└──────────┴─────────────────┘

normalizeUTF8NFKCCasefold

أُضيف في: v26.3.0 يُطبِّع سلسلة UTF-8 وفقًا لـ صيغة التطبيع NFKC_Casefold، إذ يطبّق تطبيع NFKC ثم يجري طيّ حالة الأحرف. وهذا مفيد لمطابقة المعرّفات دون مراعاة حالة الأحرف. البنية
normalizeUTF8NFKCCasefold(str)
الوسائط
  • str — سلسلة الإدخال المرمّزة بترميز UTF-8. String
القيمة المُعادة تُرجع الشكل المعياري NFKC_Casefold لسلسلة UTF-8. String أمثلة مثال على الاستخدام
Query
SELECT
    'Ä ① Hello' AS original,
    normalizeUTF8NFKCCasefold('Ä ① Hello') AS nfkc_cf_normalized;
Response
┌─original───┬─nfkc_cf_normalized─┐
│ Ä ① Hello │ ä 1 hello           │
└────────────┴────────────────────┘

normalizeUTF8NFKD

أُضيف في: v21.11.0 يُطبِّع سلسلة UTF-8 وفق صيغة التطبيع NFKD. البنية
normalizeUTF8NFKD(str)
الوسيطات
  • str — سلسلة إدخال مرمّزة بترميز UTF-8. سلسلة
القيمة المعادة تُرجع الشكل المُطبَّع وفق NFKD لسلسلة UTF-8. سلسلة أمثلة مثال على الاستخدام
Query
SELECT
    'H₂O²' AS original,                            -- H + subscript 2 + O + superscript 2
    normalizeUTF8NFKD('H₂O²') AS nfkd_normalized;  -- Converts to H 2 O 2
Response
┌─original─┬─nfkd_normalized─┐
│ H₂O²     │ H2O2            │
└──────────┴─────────────────┘

punycodeDecode

أُضيف في: v24.1.0 يعيد النص الصريح المُرمَّز بـ UTF8 لسلسلة مُرمَّزة بترميز Punycode. إذا لم تُعطَ سلسلة صالحة مُرمَّزة بترميز Punycode، فسيتم طرح استثناء. الصيغة
punycodeDecode(s)
الوسيطات
  • s — سلسلة مرمّزة بـ Punycode. String
القيمة المعادة تعيد النص العادي لقيمة الإدخال. String أمثلة مثال استخدام
Query
SELECT punycodeDecode('Mnchen-3ya')
Response
┌─punycodeDecode('Mnchen-3ya')─┐
│ München                      │
└──────────────────────────────┘

punycodeEncode

قُدِّم في: v24.1.0 يعيد تمثيل سلسلة نصية بتنسيق Punycode. يجب أن تكون السلسلة النصية مُرمَّزة بترميز UTF8، وإلا فسيكون السلوك غير محدد. الصياغة
punycodeEncode(s)
الوسائط
  • s — قيمة الإدخال. String
القيمة المُعادة تعرض تمثيل Punycode لقيمة الإدخال. String أمثلة مثال على الاستخدام
Query
SELECT punycodeEncode('München')
Response
┌─punycodeEncode('München')─┐
│ Mnchen-3ya                │
└───────────────────────────┘

regexpExtract

أُضيف في: v23.2.0 يستخرج أول سلسلة نصية في haystack تطابق نمط regexp وتتوافق مع فهرس مجموعة regex. الصيغة
regexpExtract(haystack, pattern[, index])
الأسماء المستعارة: REGEXP_EXTRACT, REGEXP_SUBSTR الوسائط
  • haystack — String، السلسلة التي ستتم فيها مطابقة نمط regexp. String
  • pattern — String، تعبير regexp. قد يحتوي pattern على عدة مجموعات regexp، ويحدد index مجموعة regex المطلوب استخراجها. تشير القيمة 0 إلى مطابقة التعبير النمطي بالكامل. const String
  • index — اختياري. عدد صحيح غير سالب يحدد مجموعة regex المطلوب استخراجها. القيمة الافتراضية هي 1 إذا كان pattern يحتوي على مجموعة ملتقطة واحدة على الأقل، و0 (المطابقة بالكامل) إذا لم يكن pattern يحتوي على أي مجموعة ملتقطة. (U)Int*
القيمة المُعادة يعيد سلسلة مطابِقة String أمثلة مثال على الاستخدام
Query
SELECT
    regexpExtract('100-200', '(\\d+)-(\\d+)', 1),
    regexpExtract('100-200', '(\\d+)-(\\d+)', 2),
    regexpExtract('100-200', '(\\d+)-(\\d+)', 0),
    regexpExtract('100-200', '(\\d+)-(\\d+)'),
    regexpExtract('100-200', '\\d+');
Response
┌─regexpExtract('100-200', '(\\d+)-(\\d+)', 1)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)', 2)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)', 0)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)')─┬─regexpExtract('100-200', '\\d+')─┐
│ 100                                          │ 200                                          │ 100-200                                      │ 100                                       │ 100                              │
└──────────────────────────────────────────────┴──────────────────────────────────────────────┴──────────────────────────────────────────────┴───────────────────────────────────────────┴──────────────────────────────────┘

regexpPosition

أُضيفت في: v26.5.0 تعيد موضع البايت (ابتداءً من 1) للمطابقة رقم occurrence لـ pattern داخل haystack، مع بدء البحث من موضع البايت position. إذا كانت return_option تساوي 0 (الافتراضي)، فسيُعاد موضع أول بايت في المطابقة. وإذا كانت تساوي 1، فسيُعاد موضع أول بايت بعد المطابقة. إذا كانت subexpression أكبر من 0، فسيُعاد موضع مجموعة الالتقاط المقابلة بدلًا من المطابقة بأكملها. تعيد 0 إذا لم يُعثر على أي مطابقة، أو إذا لم تشارك مجموعة الالتقاط المطلوبة في المطابقة. يُوفَّر هذا للتوافق مع regexp_instr في PostgreSQL (وهو متاح أيضًا تحت هذا alias). لاحظ أن المواضع هنا تعتمد على البايتات، بما يتوافق مع دوال Regex الأخرى في ClickHouse؛ بينما يعتمد regexp_instr في PostgreSQL على المحارف. البنية
regexpPosition(haystack, pattern[, position[, occurrence[, return_option[, flags[, subexpression]]]]])
الأسماء البديلة: regexpInstr, regexp_instr الوسائط
  • haystack — السلسلة المراد البحث فيها. String
  • pattern — نمط التعبير النمطي. const String
  • position — اختياري. موضع البايت المعتمد على 1 لبدء البحث. القيمة الافتراضية: 1. (U)Int*
  • occurrence — اختياري. يحدد أي تطابق يجب إرجاعه. القيمة الافتراضية: 1. (U)Int*
  • return_option — اختياري. تُرجع القيمة 0 موضع بداية التطابق، وتُرجع القيمة 1 الموضع الذي يلي التطابق مباشرةً. القيمة الافتراضية: 0. (U)Int*
  • flags — اختياري. خيارات Regex. القيم المدعومة: i (غير حساس لحالة الأحرف)، c (حساس لحالة الأحرف)، m/n (مراسي متعددة الأسطر)، s (النقطة تطابق سطرًا جديدًا). القيمة الافتراضية: فارغ. const String
  • subexpression — اختياري. فهرس مجموعة الالتقاط المطلوب إرجاع موضعها. 0 تعني التطابق الكامل. القيمة الافتراضية: 0. (U)Int*
القيمة المُعادة تُرجع موضع البايت للتطابق، أو 0 إذا لم يتم العثور عليه. UInt64 أمثلة الاستخدام الأساسي
Query
SELECT
    regexpPosition('hello world', 'world'),
    regexpPosition('aXbXcXd', 'X', 1, 2),
    regexpPosition('aXbXcXd', 'X', 1, 2, 1),
    regexpPosition('Hello WORLD', 'world', 1, 1, 0, 'i'),
    regexpPosition('foo123bar456', '([a-z]+)([0-9]+)', 1, 2, 0, '', 2);
Response
┌─...─┬─...─┬─...─┬─...─┬─...─┐
│   7 │   4 │   5 │   7 │  10 │
└─────┴─────┴─────┴─────┴─────┘

removeDiacriticsUTF8

أُضيف في: v26.3.0 يزيل العلامات التشكيلية (اللكنات) من سلسلة UTF-8 عبر تفكيك المحارف باستخدام NFD، وإزالة علامات الدمج (الفئة Mn في Unicode)، ثم إعادة تركيبها باستخدام NFC. البنية
removeDiacriticsUTF8(str)
الأسماء البديلة: removeAccentsUTF8 المعاملات
  • str — سلسلة إدخال بترميز UTF-8. String
القيمة المُعادة سلسلة UTF-8 بعد إزالة علامات التشكيل منها. String أمثلة إزالة علامات التشكيل الأساسية
Query
SELECT removeDiacriticsUTF8('café résumé naïve')
Response
┌─removeDiacriticsUTF8('café résumé naïve')─┐
│ cafe resume naive                          │
└────────────────────────────────────────────┘

repeat

أُضيف في: v20.1.0 يُكرّر السلسلة النصية بضمّها إلى نفسها بعدد المرات المحدد. الصيغة
repeat(s, n)
الوسيطات
  • s — السلسلة المطلوب تكرارها. String
  • n — عدد مرات تكرار السلسلة. (U)Int*
القيمة المُعادة سلسلة تتكوّن من تكرار السلسلة s عدد n من المرات. إذا كانت n سالبة، فتعيد الدالة سلسلة فارغة. String أمثلة مثال على الاستخدام
Query
SELECT repeat('abc', 10)
Response
┌─repeat('abc', 10)──────────────┐
│ abcabcabcabcabcabcabcabcabcabc │
└────────────────────────────────┘

reverseUTF8

أُضيف في: v1.1.0 يعكس تسلسل نقاط ترميز Unicode في سلسلة نصية. يفترض أن السلسلة النصية تحتوي على نص صالح بترميز UTF-8. إذا لم يتحقق هذا الافتراض، فلا يتم طرح أي استثناء وتكون النتيجة غير معرّفة. الصياغة
reverseUTF8(s)
الوسيطات
  • s — سلسلة تحتوي على نص صالح بترميز UTF-8. سلسلة
القيمة المعادة تعيد سلسلةً يكون فيها تسلسل نقاط Unicode البرمجية معكوسًا. سلسلة أمثلة مثال على الاستخدام
Query
SELECT reverseUTF8('ClickHouse')
Response
esuoHkcilC
أُضيفت في: v22.1.0 تعيد سلسلة فرعية من السلسلة s بإزاحة offset محددة تبدأ من اليمين. البنية
right(s, offset)
الوسيطات
  • s — السلسلة التي يُراد استخراج سلسلة فرعية منها. String أو FixedString
  • offset — عدد بايتات الإزاحة. (U)Int*
القيمة المُعادة تعيد:
  • إذا كانت offset موجبة، فستُعاد سلسلة فرعية من s بطول offset بايتًا، بدءًا من يمين السلسلة.
  • إذا كانت offset سالبة، فستُعاد سلسلة فرعية من s بطول length(s) - |offset| بايتًا، بدءًا من يمين السلسلة.
  • سلسلة فارغة إذا كانت length تساوي 0. String
أمثلة إزاحة موجبة
Query
SELECT right('Hello', 3)
Response
llo
إزاحة سلبية
Query
SELECT right('Hello', -3)
Response
lo

rightPad

أُضيفت في: v21.8.0 تُبطّن سلسلة نصية من اليمين بالمسافات أو بسلسلة نصية محددة (تُكرَّر عدة مرات عند الحاجة) حتى يبلغ طول السلسلة الناتجة القيمة length المحددة. البنية
rightPad(string, length[, pad_string])
الأسماء البديلة: rpad الوسيطات
  • string — سلسلة الإدخال المطلوب حشوها. String
  • length — طول السلسلة الناتجة. إذا كانت القيمة أصغر من طول سلسلة الإدخال، فسيتم تقصير سلسلة الإدخال إلى length حرفًا. (U)Int*
  • pad_string — اختياري. السلسلة المستخدمة لحشو سلسلة الإدخال. إذا لم يتم تحديدها، فسيتم حشو سلسلة الإدخال بمسافات. String
القيمة المعادة تعيد سلسلة محشوة من الجهة اليمنى بالطول المحدد. String أمثلة مثال على الاستخدام
Query
SELECT rightPad('abc', 7, '*'), rightPad('abc', 7)
Response
┌─rightPad('abc', 7, '*')─┬─rightPad('abc', 7)─┐
│ abc****                 │ abc                │
└─────────────────────────┴────────────────────┘

rightPadUTF8

أُضيفت في: v21.8.0 تُبطّن السلسلة من اليمين بمسافات أو بسلسلة محددة (عدة مرات عند الحاجة) حتى يصل طول السلسلة الناتجة إلى الطول المحدد. وعلى عكس rightPad الذي يقيس طول السلسلة بالبايتات، يُقاس طول السلسلة هنا بنقاط الترميز. الصيغة
rightPadUTF8(string, length[, pad_string])
الوسيطات
  • string — سلسلة الإدخال المطلوب ملؤها. String
  • length — طول السلسلة الناتجة. إذا كانت القيمة أصغر من طول سلسلة الإدخال، فسيتم اختصار سلسلة الإدخال إلى length حرفًا. (U)Int*
  • pad_string — اختياري. السلسلة المستخدمة لملء سلسلة الإدخال. إذا لم يتم تحديدها، فستُملأ سلسلة الإدخال بمسافات. String
القيمة المعادة تعيد سلسلة مملوءة من اليمين بالطول المحدد. String أمثلة مثال على الاستخدام
Query
SELECT rightPadUTF8('абвг', 7, '*'), rightPadUTF8('абвг', 7)
Response
┌─rightPadUTF8('абвг', 7, '*')─┬─rightPadUTF8('абвг', 7)─┐
│ абвг***                      │ абвг                    │
└──────────────────────────────┴─────────────────────────┘

rightUTF8

قُدِّم في: v22.1.0 يُرجع سلسلة فرعية من السلسلة s المرمّزة بترميز UTF-8، بإزاحة offset محددة تبدأ من اليمين. البنية
rightUTF8(s, offset)
الوسائط
  • s — السلسلة النصية المرمّزة بترميز UTF-8 المطلوب استخراج سلسلة فرعية منها. String أو FixedString
  • offset — عدد بايتات الإزاحة. (U)Int*
القيمة المعادة يعيد:
  • إذا كانت offset موجبة، فتُعاد سلسلة فرعية من s بطول offset بايت، تبدأ من يمين السلسلة النصية.
  • إذا كانت offset سالبة، فتُعاد سلسلة فرعية من s بطول length(s) - |offset| بايت، تبدأ من يمين السلسلة النصية.
  • سلسلة نصية فارغة إذا كانت length تساوي 0. String
أمثلة إزاحة موجبة
Query
SELECT rightUTF8('Привет', 4)
Response
ивет
OFFSET السالب
Query
SELECT rightUTF8('Привет', -4)
Response
ет

soundex

أُضيف في: v23.4.0 يُرجع رمز Soundex لنص. الصيغة
soundex(s)
المعاملات
  • s — سلسلة الإدخال. String
القيمة المُعادة يعيد رمز Soundex لسلسلة الإدخال. String أمثلة مثال على الاستخدام
Query
SELECT soundex('aksel')
Response
┌─soundex('aksel')─┐
│ A240             │
└──────────────────┘

space

أُضيفت في: v23.5.0 يكرّر مسافة ( ) بعدد المرات المحدد. البنية
space(n)
المعاملات
  • n — عدد مرات تكرار المسافة. (U)Int*
القيمة المعادة تُرجِع سلسلة نصية تحتوي على مسافة مكررة n مرة. إذا كان n <= 0، فستُرجِع الدالة سلسلة فارغة. String أمثلة مثال على الاستخدام
Query
SELECT space(3) AS res, length(res);
Response
┌─res─┬─length(res)─┐
│     │           3 │
└─────┴─────────────┘

sparseGrams

قُدِّمت في: v25.5.0 تعثر على جميع السلاسل الفرعية في سلسلة نصية معيّنة التي لا يقل طولها عن n، بحيث تكون قيم التجزئة لـ (n-1)-grams عند أطراف السلسلة الفرعية أكبر بشكل صارم من قيم أي (n-1)-gram داخل السلسلة الفرعية. تستخدم CRC32 بوصفها دالة تجزئة. الصيغة
sparseGrams(s[, min_ngram_length[, max_ngram_length[, min_cutoff_length]]])
الوسيطات
  • s — سلسلة نصية مُدخلة. String
  • min_ngram_length — اختياري. الحد الأدنى لطول الـ n-gram المستخرج. القيمة الافتراضية والدنيا هي 3. UInt*
  • max_ngram_length — اختياري. الحد الأقصى لطول الـ n-gram المستخرج. القيمة الافتراضية هي 100. يجب ألا تقل قيمته عن min_ngram_length. UInt*
  • min_cutoff_length — اختياري. إذا تم تحديده، فلن تُعاد إلا n-grams التي يكون طولها أكبر من أو يساوي min_cutoff_length. القيمة الافتراضية هي نفسها min_ngram_length. يجب ألا تقل قيمته عن min_ngram_length وألا تزيد على max_ngram_length. UInt*
القيمة المُعادة يعيد مصفوفة من المقاطع الفرعية المحددة. Array(String) أمثلة مثال على الاستخدام
Query
SELECT sparseGrams('alice', 3)
Response
┌─sparseGrams('alice', 3)────────────┐
│ ['ali','lic','lice','ice']         │
└────────────────────────────────────┘

sparseGramsHashes

أُضيف في: v25.5.0 يبحث عن قيم تجزئة لجميع السلاسل الفرعية في سلسلة نصية معيّنة التي لا يقل طولها عن n، بحيث تكون قيم تجزئة لـ (n-1)-grams عند حدود السلسلة الفرعية أكبر بشكل صارم من قيم أي (n-1)-gram داخل السلسلة الفرعية. يستخدم CRC32 بوصفها دالة تجزئة. البنية
sparseGramsHashes(s[, min_ngram_length, max_ngram_length])
الوسيطات
  • s — سلسلة إدخال. String
  • min_ngram_length — اختياري. الحد الأدنى لطول ngram المستخرج. القيمة الافتراضية والدنيا هي 3. UInt*
  • max_ngram_length — اختياري. الحد الأقصى لطول ngram المستخرج. القيمة الافتراضية هي 100. ويجب ألا تقل عن min_ngram_length. UInt*
  • min_cutoff_length — اختياري. إذا تم تحديده، فلن تُعاد إلا n-grams التي يكون طولها أكبر من أو يساوي min_cutoff_length. القيمة الافتراضية هي نفسها min_ngram_length. ويجب ألا تقل عن min_ngram_length وألا تزيد على max_ngram_length. UInt*
القيمة المعادة تُرجع مصفوفة من قيم تجزئة CRC32 للسلاسل الفرعية المحددة. Array(UInt32) أمثلة مثال على الاستخدام
Query
SELECT sparseGramsHashes('alice', 3)
Response
┌─sparseGramsHashes('alice', 3)──────────────────────┐
│ [1481062250,2450405249,4012725991,1918774096]      │
└────────────────────────────────────────────────────┘

sparseGramsHashesUTF8

أُضيفت في: v25.5.0 تعثر على قيم التجزئة لجميع المقاطع الفرعية لسلسلة UTF-8 معيّنة التي لا يقل طولها عن n، حيث تكون قيم تجزئة مقاطع (n-1)-gram عند حدود المقطع الفرعي أكبر تمامًا من قيم تجزئة أي مقطع (n-1)-gram داخله. تتوقع سلسلة UTF-8، وتطرح استثناءً إذا كان تسلسل UTF-8 غير صالح. تستخدم CRC32 كدالة تجزئة. البنية
sparseGramsHashesUTF8(s[, min_ngram_length, max_ngram_length])
الوسيطات
  • s — سلسلة إدخال. String
  • min_ngram_length — اختياري. الحد الأدنى لطول ngram المستخرج. القيمة الافتراضية والدنيا هي 3. UInt*
  • max_ngram_length — اختياري. الحد الأقصى لطول ngram المستخرج. القيمة الافتراضية هي 100. ويجب ألا تقل عن min_ngram_length. UInt*
  • min_cutoff_length — اختياري. إذا تم تحديده، فستُعاد فقط n-grams التي يكون طولها أكبر من أو يساوي min_cutoff_length. القيمة الافتراضية هي نفسها min_ngram_length. ويجب ألا تقل عن min_ngram_length وألا تزيد على max_ngram_length. UInt*
القيمة المعادة يعيد مصفوفة من تجزئات CRC32 لسلاسل UTF-8 الفرعية المحددة. Array(UInt32) أمثلة مثال على الاستخدام
Query
SELECT sparseGramsHashesUTF8('алиса', 3)
Response
┌─sparseGramsHashesUTF8('алиса', 3)─┐
│ [4178533925,3855635300,561830861] │
└───────────────────────────────────┘

sparseGramsUTF8

أُضيفت في: v25.5.0 تعثر على جميع السلاسل الفرعية في سلسلة UTF-8 معيّنة التي لا يقل طولها عن n، حيث تكون قيم التجزئة لـ (n-1)-grams عند حدود السلسلة الفرعية أكبر بشكل صارم من قيم أي (n-1)-gram داخلها. تتوقع سلسلة UTF-8، وتُطلق استثناءً في حال وجود تسلسل UTF-8 غير صالح. تستخدم CRC32 بوصفها دالة تجزئة. البنية
sparseGramsUTF8(s[, min_ngram_length[, max_ngram_length[, min_cutoff_length]]])
المعاملات
  • s — سلسلة الإدخال. String
  • min_ngram_length — اختياري. الحد الأدنى لطول ngram المستخرَج. القيمة الافتراضية والدنيا هي 3. UInt*
  • max_ngram_length — اختياري. الحد الأقصى لطول ngram المستخرَج. القيمة الافتراضية هي 100. ويجب ألا تقل عن min_ngram_length. UInt*
  • min_cutoff_length — اختياري. إذا تم تحديده، فلن تُعاد إلا n-grams التي يكون طولها أكبر من أو مساويًا لـ min_cutoff_length. القيمة الافتراضية هي نفسها min_ngram_length. ويجب ألا تقل عن min_ngram_length وألا تزيد على max_ngram_length. UInt*
القيمة المُعادة تعيد مصفوفة من مقاطع UTF-8 الفرعية المختارة. Array(String) أمثلة مثال على الاستخدام
Query
SELECT sparseGramsUTF8('алиса', 3)
Response
┌─sparseGramsUTF8('алиса', 3)─┐
│ ['али','лис','иса']         │
└─────────────────────────────┘

startsWith

قُدِّمت في: v1.1.0 يتحقق مما إذا كانت السلسلة النصية تبدأ بالسلسلة النصية المحددة. الصيغة
startsWith(s, prefix)
الوسائط
  • s — السلسلة المطلوب التحقق منها. String
  • prefix — البادئة المطلوب التحقق منها. String
القيمة المُعادة يعيد 1 إذا كانت s تبدأ بـ prefix، وإلا فيعيد 0. UInt8 أمثلة مثال على الاستخدام
Query
SELECT startsWith('ClickHouse', 'Click');
Response
┌─startsWith('⋯', 'Click')─┐
│                        1 │
└──────────────────────────┘

startsWithCaseInsensitive

أُضيف في: v25.10.0 يتحقق مما إذا كانت السلسلة النصية تبدأ بالسلسلة النصية المحددة مع تجاهل حالة الأحرف. الصيغة
startsWithCaseInsensitive(s, prefix)
الوسائط
  • s — السلسلة النصية المطلوب التحقق منها. String
  • prefix — البادئة المطلوب التحقق منها دون مراعاة حالة الأحرف. String
القيمة المُعادة يعيد 1 إذا كانت s تبدأ بالبادئة prefix دون مراعاة حالة الأحرف، وإلا فيعيد 0. UInt8 أمثلة مثال على الاستخدام
Query
SELECT startsWithCaseInsensitive('ClickHouse', 'CLICK');
Response
┌─startsWithCaseInsensitive('⋯', 'CLICK')─┐
│                                       1 │
└─────────────────────────────────────────┘

startsWithCaseInsensitiveUTF8

أُضيف في: v25.10.0 يتحقق مما إذا كانت السلسلة تبدأ بالبادئة المُعطاة دون مراعاة حالة الأحرف. يفترض أن السلسلة تحتوي على نص صالح بترميز UTF-8. إذا لم يتحقق هذا الافتراض، فلا يُطرَح أي استثناء وتكون النتيجة غير معرّفة. الصيغة
startsWithCaseInsensitiveUTF8(s, prefix)
الوسائط
  • s — السلسلة المراد التحقق منها. String
  • prefix — البادئة المراد التحقق منها، مع تجاهل حالة الأحرف. String
القيمة المُعادة تُرجع 1 إذا كانت s تبدأ بـ prefix مع تجاهل حالة الأحرف، وإلا تُرجع 0. UInt8 أمثلة مثال على الاستخدام
Query
SELECT startsWithCaseInsensitiveUTF8('приставка', 'при')
Response
┌─startsWithUT⋯ка', 'при')─┐
│                        1 │
└──────────────────────────┘

startsWithUTF8

أُضيف في: v23.8.0 يتحقق مما إذا كانت السلسلة تبدأ بالبادئة المحددة. يفترض أن السلسلة تحتوي على نص صالح مُرمَّز بترميز UTF-8. إذا لم يتحقق هذا الافتراض، فلا يُطرَح أي استثناء وتكون النتيجة غير معرّفة. الصيغة
startsWithUTF8(s, prefix)
المعاملات
  • s — السلسلة النصية المطلوب التحقق منها. String
  • prefix — البادئة المطلوب التحقق منها. String
القيمة المُعادة يعيد 1 إذا كانت s تبدأ بـ prefix، وإلا فيُعيد 0. UInt8 أمثلة مثال للاستخدام
Query
SELECT startsWithUTF8('приставка', 'при')
Response
┌─startsWithUT⋯ка', 'при')─┐
│                        1 │
└──────────────────────────┘

stringBytesEntropy

أُضيفت في: v25.6.0 تحسب إنتروبيا شانون لتوزيع البايتات في سلسلة نصية. الصيغة
stringBytesEntropy(s)
الوسائط
  • s — السلسلة النصية المراد تحليلها. String
القيمة المُعادة تُرجع إنتروبيا شانون لتوزيع البايتات في السلسلة النصية. Float64 أمثلة مثال على الاستخدام
Query
SELECT stringBytesEntropy('Hello, world!')
Response
┌─stringBytesEntropy('Hello, world!')─┐
│                         3.07049960  │
└─────────────────────────────────────┘

stringBytesUniq

استُحدث في: v25.6.0 يحسب عدد البايتات الفريدة في سلسلة نصية. الصيغة
stringBytesUniq(s)
الوسائط
  • s — السلسلة المطلوب تحليلها. String
القيمة المُعادة يُرجع عدد البايتات المختلفة في السلسلة. UInt16 أمثلة مثال على الاستخدام
Query
SELECT stringBytesUniq('Hello')
Response
┌─stringBytesUniq('Hello')─┐
│                        4 │
└──────────────────────────┘

stringJaccardIndex

قُدِّمت في: v23.11.0 تحسب معامل جاكارد للتشابه بين سلسلتين من البايتات. الصيغة
stringJaccardIndex(s1, s2)
الوسائط
  • s1 — سلسلة الإدخال الأولى. String
  • s2 — سلسلة الإدخال الثانية. String
القيمة المُعادة تُرجع مؤشر تشابه جاكارد بين السلسلتين. Float64 أمثلة مثال على الاستخدام
Query
SELECT stringJaccardIndex('clickhouse', 'mouse')
Response
┌─stringJaccardIndex('clickhouse', 'mouse')─┐
│                                       0.4 │
└───────────────────────────────────────────┘

stringJaccardIndexUTF8

تم تقديمه في: v23.11.0 مثل stringJaccardIndex، ولكن للسلاسل النصية المرمّزة بـ UTF8. الصيغة
stringJaccardIndexUTF8(s1, s2)
الوسائط
  • s1 — أول سلسلة نصية مُدخلة بترميز UTF8. String
  • s2 — ثاني سلسلة نصية مُدخلة بترميز UTF8. String
القيمة المعادة تعيد معامل تشابه Jaccard بين سلسلتي UTF8 النصيتين. Float64 أمثلة مثال على الاستخدام
Query
SELECT stringJaccardIndexUTF8('我爱你', '我也爱你')
Response
┌─stringJaccardIndexUTF8('我爱你', '我也爱你')─┐
│                                       0.75 │
└─────────────────────────────────────────────┘

substring

مُتاحة منذ: v1.1.0 تعيد السلسلة الفرعية من السلسلة s التي تبدأ عند فهرس البايت المحدد offset. يبدأ عدّ البايتات من 1 وفقًا للمنطق التالي:
  • إذا كانت قيمة offset هي 0، فستُعاد سلسلة فارغة.
  • إذا كانت قيمة offset سالبة، فستبدأ السلسلة الفرعية على بُعد offset حرفًا من نهاية السلسلة بدلًا من بدايتها.
يحدد الوسيط الاختياري length الحد الأقصى لعدد البايتات التي يمكن أن تتضمنها السلسلة الفرعية المعادة. الصيغة
substring(s, offset[, length])
الأسماء البديلة: byteSlice, mid, substr الوسائط
  • s — السلسلة المُراد استخراج مقطع فرعي منها. String أو FixedString أو Enum
  • offset — موضع بداية المقطع الفرعي في s. (U)Int*
  • length — اختياري. الحد الأقصى لطول المقطع الفرعي. (U)Int*
القيمة المُعادة تُرجع مقطعًا فرعيًا من s بطول length بايتًا، بدءًا من الفهرس offset. String أمثلة الاستخدام الأساسي
Query
SELECT 'database' AS db, substr(db, 5), substr(db, 5, 1)
Response
┌─db───────┬─substring('database', 5)─┬─substring('database', 5, 1)─┐
│ database │ base                     │ b                           │
└──────────┴──────────────────────────┴─────────────────────────────┘

substringIndex

أُضيفت في: v23.7.0 تعيد السلسلة الفرعية من s التي تسبق count من مرات ظهور الفاصل delim، كما في Spark أو MySQL. الصيغة
substringIndex(s, delim, count)
الأسماء البديلة: SUBSTRING_INDEX الوسائط
  • s — السلسلة التي يُستخرَج منها المقطع الفرعي. String
  • delim — المحرف الفاصل. String
  • count — عدد مرات ظهور الفاصل التي يجب احتسابها قبل استخراج المقطع الفرعي. إذا كانت قيمة count موجبة، فسيُعاد كل ما يقع إلى يسار الفاصل الأخير (مع العد من اليسار). وإذا كانت قيمة count سالبة، فسيُعاد كل ما يقع إلى يمين الفاصل الأخير (مع العد من اليمين). UInt أو Int
القيمة المعادة يُعيد مقطعًا فرعيًا من s يسبق count من مرات ظهور delim. String أمثلة مثال على الاستخدام
Query
SELECT substringIndex('www.clickhouse.com', '.', 2)
Response
┌─substringIndex('www.clickhouse.com', '.', 2)─┐
│ www.clickhouse                               │
└──────────────────────────────────────────────┘

substringIndexUTF8

أُضيفت في: v23.7.0 تُرجع السلسلة الفرعية من s التي تسبق count من مرات ظهور الفاصل delim، وذلك على مستوى نقاط Unicode البرمجية. تفترض أن السلسلة تحتوي على نص صالح مُرمَّز بترميز UTF-8. إذا لم يتحقق هذا الافتراض، فلا يتم طرح أي استثناء وتكون النتيجة غير معرّفة. الصيغة
substringIndexUTF8(s, delim, count)
الوسائط
  • s — السلسلة المطلوب استخراج السلسلة الفرعية منها. String
  • delim — الحرف الفاصل الذي سيتم التقسيم عنده. String
  • count — عدد مرات ظهور الفاصل التي يجب عدّها قبل استخراج السلسلة الفرعية. إذا كانت قيمة count موجبة، فسيتم إرجاع كل ما يقع إلى يسار الفاصل الأخير (مع العد من اليسار). وإذا كانت قيمة count سالبة، فسيتم إرجاع كل ما يقع إلى يمين الفاصل الأخير (مع العد من اليمين). UInt أو Int
القيمة المعادة تعيد سلسلة فرعية من s تقع قبل count من مرات ظهور delim. String أمثلة مثال UTF8
Query
SELECT substringIndexUTF8('www.straßen-in-europa.de', '.', 2)
Response
www.straßen-in-europa

substringUTF8

أُضيفت في: v1.1.0 تعيد هذه الدالة سلسلة فرعية من السلسلة s تبدأ عند فهرس نقطة الترميز offset المحدد. ويبدأ عدّ نقاط الترميز من 1 وفقًا للمنطق التالي:
  • إذا كانت قيمة offset هي 0، فستُعاد سلسلة فارغة.
  • إذا كانت قيمة offset سالبة، فتبدأ السلسلة الفرعية عند offset نقطة ترميز محسوبة من نهاية السلسلة بدلًا من بدايتها.
يحدِّد الوسيط الاختياري length الحد الأقصى لعدد نقاط الترميز التي يمكن أن تحتويه السلسلة الفرعية المُعادة.
تفترض هذه الدالة أن السلسلة تحتوي على نص بترميز UTF-8 صحيح. وإذا لم يتحقق هذا الافتراض، فلا يُطرَح أي استثناء وتكون النتيجة غير معرّفة.
الصيغة
substringUTF8(s, offset[, length])
الوسائط
  • s — السلسلة التي يُستخرج منها سلسلة فرعية. String أو FixedString أو Enum
  • offset — موضع بداية السلسلة الفرعية في s. Int أو UInt
  • length — الحد الأقصى لطول السلسلة الفرعية. اختياري. Int أو UInt
القيمة المُعادة تعيد سلسلة فرعية من s بطول length من نقاط الترميز، بدءًا من فهرس نقطة الترميز offset. String أمثلة مثال على الاستخدام
Query
SELECT 'Täglich grüßt das Murmeltier.' AS str, substringUTF8(str, 9), substringUTF8(str, 9, 5)
Response
Täglich grüßt das Murmeltier.    grüßt das Murmeltier.    grüßt

toValidUTF8

أُضيفت في: v20.1.0 يحوّل سلسلة نصية إلى ترميز UTF-8 صالح عبر استبدال أي محارف UTF-8 غير الصالحة بمحرف الاستبدال (U+FFFD). وعند العثور على عدة محارف غير صالحة متتالية، تُختزل إلى محرف استبدال واحد. الصيغة
toValidUTF8(s)
الوسائط
  • s — أي مجموعة من البايتات مُمثَّلة ككائن من نوع البيانات String. String
القيمة المُعادة يعيد سلسلة نصية صالحة بترميز UTF-8. String أمثلة مثال على الاستخدام
Query
SELECT toValidUTF8('\\x61\\xF0\\x80\\x80\\x80b')
Response
c
┌─toValidUTF8('a����b')─┐
│ a�b                   │
└───────────────────────┘

trimBoth

أُضيف في: v20.1.0 يزيل الأحرف المحددة من بداية السلسلة النصية ونهايتها. ويزيل افتراضيًا أحرف المسافات البيضاء (ASCII) الشائعة. الصيغة
trimBoth(s[, trim_characters])
الأسماء البديلة: trim الوسائط
  • s — السلسلة النصية المطلوب إزالة الأحرف منها. String
  • trim_characters — اختياري. الأحرف المطلوب إزالتها. إذا لم تُحدَّد، فستُزال أحرف المسافات البيضاء الشائعة. String
القيمة المعادة تعيد السلسلة النصية بعد إزالة الأحرف المحددة من الطرفين. String أمثلة مثال على الاستخدام
Query
SELECT trimBoth('$$ClickHouse$$', '$')
Response
┌─trimBoth('$$⋯se$$', '$')─┐
│ ClickHouse               │
└──────────────────────────┘

trimLeft

استُحدثت في: v20.1.0 تزيل الأحرف المحددة من بداية السلسلة. وبشكل افتراضي، تزيل أحرف المسافات البيضاء الشائعة (ASCII). الصياغة
trimLeft(input[, trim_characters])
الأسماء البديلة: ltrim الوسائط
  • input — السلسلة النصية المطلوب اقتطاعها. String
  • trim_characters — اختياري. الأحرف المطلوب اقتطاعها. إذا لم يتم تحديدها، تُزال أحرف المسافات البيضاء الشائعة. String
القيمة المُعادة تعيد السلسلة النصية بعد اقتطاع الأحرف المحددة من الجهة اليسرى. String أمثلة مثال على الاستخدام
Query
SELECT trimLeft('ClickHouse', 'Click');
Response
┌─trimLeft('Cl⋯', 'Click')─┐
│ House                    │
└──────────────────────────┘

trimRight

أُضيف في: v20.1.0 يزيل الأحرف المحددة من نهاية سلسلة نصية. وبشكل افتراضي، يزيل أحرف المسافات البيضاء (ASCII) الشائعة. الصيغة
trimRight(s[, trim_characters])
الأسماء البديلة: rtrim الوسائط
  • s — السلسلة المطلوب اقتطاع الأحرف منها. String
  • trim_characters — أحرف اختيارية لاقتطاعها. إذا لم يتم تحديدها، فستُزال أحرف المسافات البيضاء الشائعة. String
القيمة المُعادة تعيد السلسلة بعد اقتطاع الأحرف المحددة من طرفها الأيمن. String أمثلة مثال على الاستخدام
Query
SELECT trimRight('ClickHouse','House');
Response
┌─trimRight('C⋯', 'House')─┐
│ Click                    │
└──────────────────────────┘

tryBase32Decode

أُضيف في: v25.6.0 يقبل سلسلة نصية ويفك ترميزها باستخدام نظام الترميز Base32. الصيغة
tryBase32Decode(encoded)
الوسائط
  • encoded — عمود String أو قيمة ثابتة لفك ترميزها. إذا لم تكن السلسلة مرمّزة بترميز Base32 بشكل صحيح، فستُرجع سلسلة فارغة عند حدوث خطأ. String
القيمة المعادة ترجع سلسلة تحتوي على القيمة الناتجة بعد فك ترميز الوسيطة. String أمثلة مثال على الاستخدام
Query
SELECT tryBase32Decode('IVXGG33EMVSA====');
Response
┌─tryBase32Decode('IVXGG33EMVSA====')─┐
│ Encoded                             │
└─────────────────────────────────────┘

tryBase58Decode

أُضيف في: v22.10.0 مثل base58Decode، لكنه يعيد سلسلة فارغة عند حدوث خطأ. الصيغة
tryBase58Decode(encoded[, expected_size])
الوسائط
  • encoded — عمود String أو قيمة ثابتة. إذا لم تكن السلسلة مرمّزة بترميز Base58 صالح، فستُرجِع سلسلة فارغة عند حدوث خطأ. String
  • expected_size — اختياري. الحجم المتوقع بعد فك الترميز بالبايت. عندما تكون القيمة 32 أو 64، يُستخدم مفكِّك ترميز مُحسَّن؛ وبالنسبة إلى القيم الأخرى، يُستخدم مفكِّك الترميز العام. UInt8, UInt16, UInt32, or UInt64
القيمة المعادة تُرجِع سلسلة تحتوي على القيمة الناتجة عن فك ترميز الوسيطة. String أمثلة مثال على الاستخدام
Query
SELECT tryBase58Decode('3dc8KtHrwM') AS res, tryBase58Decode('invalid') AS res_invalid;
Response
┌─res─────┬─res_invalid─┐
│ Encoded │             │
└─────────┴─────────────┘

tryBase64Decode

أُضيف في: v18.16.0 مثل base64Decode، لكنه يعيد سلسلة فارغة عند حدوث خطأ. البنية
tryBase64Decode(encoded)
الوسيطات
  • encoded — عمود String أو قيمة ثابتة لفك ترميزها. إذا لم تكن السلسلة مرمّزة بترميز Base64 صالح، فسيُرجِع سلسلة فارغة عند حدوث خطأ. String
القيمة المعادة يُرجِع سلسلة تحتوي على القيمة الناتجة عن فك ترميز الوسيطة. String أمثلة مثال على الاستخدام
Query
SELECT tryBase64Decode('Y2xpY2tob3VzZQ==')
Response
┌─tryBase64Decode('Y2xpY2tob3VzZQ==')─┐
│ clickhouse                          │
└─────────────────────────────────────┘

tryBase64URLDecode

أُضيف في الإصدار: v18.16.0 مثل base64URLDecode، لكنه يعيد سلسلة فارغة عند حدوث خطأ. الصيغة
tryBase64URLDecode(encoded)
الوسائط
  • encoded — عمود من نوع String أو قيمة ثابتة لفك ترميزها. إذا لم تكن السلسلة مُرمَّزة بترميز Base64 صالح، فستُرجِع سلسلة فارغة عند حدوث خطأ. String
القيمة المُعادة تُرجِع سلسلة تحتوي على القيمة الناتجة عن فك ترميز الوسيط. String الأمثلة مثال على الاستخدام
Query
SELECT tryBase64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')
Response
┌─tryBase64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')─┐
│ https://clickhouse.com                               │
└──────────────────────────────────────────────────────┘

tryIdnaEncode

أُضيف في: v24.1.0 يعيد تمثيل Unicode ‏(UTF-8) لاسم النطاق وفق خوارزمية ToUnicode ووفقًا لآلية Internationalized Domain Names in Applications ‏(IDNA). في حال حدوث خطأ، يعيد سلسلة فارغة بدلًا من رفع استثناء. الصيغة
tryIdnaEncode(s)
الوسائط
  • s — سلسلة الإدخال. String
القيمة المُعادة تعيد تمثيل ASCII لسلسلة الإدخال وفق آلية IDNA لقيمة الإدخال، أو سلسلة فارغة إذا كانت قيمة الإدخال غير صالحة. String أمثلة مثال على الاستخدام
Query
SELECT tryIdnaEncode('straße.münchen.de')
Response
┌─tryIdnaEncode('straße.münchen.de')──┐
│ xn--strae-oqa.xn--mnchen-3ya.de     │
└─────────────────────────────────────┘

tryPunycodeDecode

أُضيف في: v24.1.0 يشبه punycodeDecode، لكنه يعيد سلسلة فارغة إذا لم يتم تمرير سلسلة صالحة مُرمَّزة بـ Punycode. الصيغة
tryPunycodeDecode(s)
الوسائط
  • s — سلسلة مُرمَّزة باستخدام Punycode. String
القيمة المعادة تعيد النص الصريح لقيمة الإدخال، أو سلسلة فارغة إذا كانت قيمة الإدخال غير صالحة. String أمثلة مثال على الاستخدام
Query
SELECT tryPunycodeDecode('Mnchen-3ya')
Response
┌─tryPunycodeDecode('Mnchen-3ya')─┐
│ München                         │
└─────────────────────────────────┘

upper

أُضيفت في: v1.1.0 يحوّل أحرف ASCII اللاتينية في سلسلة نصية إلى أحرف كبيرة. الصيغة
upper(s)
الأسماء البديلة: ucase الوسائط
  • s — السلسلة المراد تحويلها إلى أحرف كبيرة. String
القيمة المُعادة تعيد السلسلة s بعد تحويلها إلى أحرف كبيرة. String أمثلة مثال على الاستخدام
Query
SELECT upper('clickhouse')
Response
┌─upper('clickhouse')─┐
│ CLICKHOUSE          │
└─────────────────────┘

upperUTF8

قُدِّم في: v1.1.0 يحوّل سلسلة نصية إلى أحرف كبيرة، على افتراض أن السلسلة تحتوي على نص صالح مرمّز بترميز UTF-8. إذا لم يتحقق هذا الافتراض، فلا يتم طرح أي استثناء وتكون النتيجة غير معرّفة.
لا تكتشف هذه الدالة اللغة. فعلى سبيل المثال، قد لا تكون النتيجة صحيحة تمامًا للغة التركية (i/İ مقابل i/I). إذا كان طول تسلسل بايتات UTF-8 مختلفًا بين الأحرف الكبيرة والصغيرة لنقطة ترميز ما (مثل و ß)، فقد تكون النتيجة غير صحيحة لتلك النقطة.
الصيغة
upperUTF8(s)
الوسائط
  • s — من النوع String
القيمة المعادة قيمة من نوع البيانات String أمثلة مثال على الاستخدام
Query
SELECT upperUTF8('München') AS Upperutf8
Response
┌─Upperutf8─┐
│ MÜNCHEN   │
└───────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦