هذه الإعدادات متوفّرة في system.settings، وقد أُنشئت تلقائيًا من الشفرة المصدرية.
cast_ipv4_ipv6_default_on_conversion_error
النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 22.3 | 0 | اجعل الدالتين 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) │
└───┴───────────────────────────────────────────────────┘انظر أيضًا
- CAST دالة