Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعدادات الجلسة cast_*

هذه الإعدادات متوفّرة في system.settings، وقد أُنشئت تلقائيًا من الشفرة المصدرية.

cast_ipv4_ipv6_default_on_conversion_error

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
22.30اجعل الدالتين cast(value, 'IPv4') و cast(value, 'IPv6') تعملان بالطريقة نفسها مثل الدالتين toIPv4 و toIPv6

سيُرجع المعامل CAST إلى IPv4، والمعامل CAST إلى النوع IPv6، والدالتان toIPv4 و toIPv6 القيمة الافتراضية بدلًا من إطلاق استثناء عند حدوث خطأ في التحويل.

cast_keep_nullable

النوع
Bool
القيمة الافتراضية
0

يُمكّن هذا الإعداد أو يعطّل الاحتفاظ بنوع البيانات Nullable في عمليات CAST.

عند تمكين هذا الإعداد وكان وسيط الدالة CAST من النوع Nullable، تتحول النتيجة أيضًا إلى النوع Nullable. وعند تعطيل الإعداد، تكون النتيجة دائمًا من نوع الوجهة المحدد تمامًا.

القيم الممكنة:

  • 0 — تكون نتيجة CAST من نوع الوجهة المحدد تمامًا.
  • 1 — إذا كان نوع الوسيط هو Nullable، فتتحول نتيجة CAST إلى Nullable(DestinationDataType).

أمثلة

ينتج عن الاستعلام التالي نوع بيانات الوجهة المحدد تمامًا:

SET cast_keep_nullable = 0;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);

النتيجة:

┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Int32                                             │
└───┴───────────────────────────────────────────────────┘

يؤدي الاستعلام التالي إلى تطبيق المُعدِّل Nullable على نوع البيانات الهدف:

SET cast_keep_nullable = 1;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);

النتيجة:

┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Nullable(Int32)                                   │
└───┴───────────────────────────────────────────────────┘

انظر أيضًا

Navigation