> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> وثائق تنسيق Values

# Values

| إدخال | إخراج | اسم مستعار |
| ----- | ----- | ---------- |
| ✔     | ✔     |            |

<div id="description">
  ## الوصف
</div>

يعرض التنسيق `Values` كل صف بين قوسين.

* تُفصل الصفوف بفواصل، من دون فاصلة بعد الصف الأخير.
* تُفصل القيم داخل القوسين أيضًا بفواصل.
* تُخرج الأرقام بتنسيق عشري من دون علامات اقتباس.
* تُخرج المصفوفات على هيئة `[]`.
* تُخرج السلاسل النصية والتواريخ والتواريخ المقترنة بوقت بين علامتَي اقتباس.
* قواعد الإفلات والتحليل مماثلة لتنسيق [TabSeparated](/ar/reference/formats/TabSeparated/TabSeparated).

أثناء التنسيق، لا تُدرج مسافات إضافية، ولكن أثناء التحليل يُسمح بها ويتم تجاهلها (باستثناء المسافات داخل قيم المصفوفة، إذ لا يُسمح بها).
يُمثَّل [`NULL`](/ar/reference/syntax) بالقيمة `NULL`.

الحد الأدنى من المحارف التي تحتاج إلى إفلاتها عند تمرير البيانات بتنسيق `Values`:

* علامات الاقتباس المفردة
* الشرطات المائلة العكسية

هذا هو التنسيق المستخدم في `INSERT INTO t VALUES ...`، ولكن يمكنك أيضًا استخدامه لتنسيق نتائج الاستعلام.

<div id="example-usage">
  ## مثال للاستخدام
</div>

<div id="inserting-data">
  ### إدراج البيانات
</div>

يُستخدم تنسيق `Values` مع `INSERT`، لذا فإن أي تعليمة `INSERT ... VALUES`
تستخدمها بالفعل. ويمكن ذكر بند `FORMAT Values` صراحةً، كما يمكن
توفير الصفوف من دفق بيانات أو ملف. ويكون كل صف عبارة عن tuple بين قوسين،
تفصل بين عناصره فواصل، وتفصل بين الـ tuples نفسها فواصل:

```sql title="Query" theme={null}
CREATE TABLE t (id UInt32, name String, values Array(UInt32)) ENGINE = Memory;

INSERT INTO t FORMAT Values (1, 'a', [10, 20]), (2, 'b', [30]);

SELECT * FROM t ORDER BY id;
```

```response title="Response" theme={null}
┌─id─┬─name─┬─values──┐
│  1 │ a    │ [10,20] │
│  2 │ b    │ [30]    │
└────┴──────┴─────────┘
```

<div id="using-expressions">
  ### استخدام التعبيرات في الإدخال
</div>

على عكس معظم تنسيقات الإدخال، يمكن لـ `Values` تقييم تعبيرات SQL في كل حقل،
بدلًا من قبول القيم الحرفية فقط. ويتحكم في ذلك
[`input_format_values_interpret_expressions`](#format-settings) (وهو مفعّل
افتراضيًا): فعندما يتعذر على محلّل التدفق السريع قراءة حقل ما، يلجأ ClickHouse
إلى محلل SQL ويفسر الحقل على أنه تعبير.

```sql title="Query" theme={null}
CREATE TABLE prices (item String, total UInt32) ENGINE = Memory;

INSERT INTO prices FORMAT Values ('apple', 3 * 4), ('pear', length('hello') + 10);

SELECT * FROM prices ORDER BY total;
```

```response title="Response" theme={null}
┌─item──┬─total─┐
│ apple │    12 │
│ pear  │    15 │
└───────┴───────┘
```

<div id="selecting-data">
  ### اختيار البيانات
</div>

يمكن أيضًا استخدام التنسيق `Values` لتنسيق نتائج الاستعلام. تُكتب الأرقام
من دون علامات اقتباس، وتُكتب المصفوفات داخل `[]`، وتُكتب السلاسل النصية والتواريخ بين علامات اقتباس مفردة؛
وتُفلَت علامات الاقتباس المفردة والشرطة المائلة العكسية داخل السلاسل النصية باستخدام شرطة مائلة عكسية، كما
تُكتب [`NULL`](/ar/reference/syntax) على هيئة `NULL`:

```sql title="Query" theme={null}
SELECT 1 AS a, 'O''Reilly' AS b, NULL::Nullable(String) AS c FORMAT Values;
```

```response title="Response" theme={null}
(1,'O\'Reilly',NULL)
```

<div id="format-settings">
  ## إعدادات التنسيق
</div>

| الإعداد                                                                                                                                     | الوصف                                                                                                                                                             | الافتراضي |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- |
| [`input_format_values_interpret_expressions`](/ar/reference/settings/formats#input_format_values_interpret_expressions)                     | إذا تعذّر تحليل الحقل بواسطة محلّل التدفق، فشغّل محلّل SQL وحاول تفسيره على أنه تعبير SQL.                                                                        | `true`    |
| [`input_format_values_deduce_templates_of_expressions`](/ar/reference/settings/formats#input_format_values_deduce_templates_of_expressions) | إذا تعذّر تحليل الحقل بواسطة محلّل التدفق، فشغّل محلّل SQL، واستنتج قالب تعبير SQL، ثم حاول تحليل جميع الصفوف باستخدام القالب وبعد ذلك فسّر التعبير لجميع الصفوف. | `true`    |
| [`input_format_values_accurate_types_of_literals`](/ar/reference/settings/formats#input_format_values_accurate_types_of_literals)           | عند تحليل التعبيرات وتفسيرها باستخدام القالب، تحقّق من النوع الفعلي لكل قيمة حرفية لتجنّب مشكلات overflow وprecision المحتملة.                                    | `true`    |
