توافق ANSI في وقت تشغيل Databricks
ينطبق على: Databricks Runtime
توضح هذه المقالة توافق ANSI في Databricks Runtime. للحصول على وضع ANSI في Databricks SQL، راجع ANSI_MODE.
لدى Spark SQL خياران لدعم التوافق مع معيار ANSI SQL: spark.sql.ansi.enabled
و spark.sql.storeAssignmentPolicy
.
عندما spark.sql.ansi.enabled
يتم تعيين إلى true
، يستخدم Spark SQL لهجة متوافقة مع ANSI بدلا من أن تكون متوافقة مع Hive. على سبيل المثال، سيطرح Spark استثناء في وقت التشغيل بدلا من إرجاع نتائج فارغة إذا كانت المدخلات إلى عامل تشغيل/دالة SQL غير صالحة. قد لا تكون بعض ميزات لهجة ANSI من معيار ANSI SQL مباشرة، ولكن سلوكياتها تتماشى مع نمط ANSI SQL.
علاوة على ذلك، لدى Spark SQL خيار مستقل للتحكم في سلوكيات التحويل الضمنية عند تخزين الصفوف في جدول. يتم تعريف سلوكيات التحويل على أنها قواعد تعيين المتجر في المعيار.
عندما spark.sql.storeAssignmentPolicy
يتم تعيين إلى ANSI
، يتوافق Spark SQL مع قواعد تعيين مخزن ANSI. هذا تكوين منفصل لأن قيمته الافتراضية هي ANSI
، بينما يتم تعطيل التكوين spark.sql.ansi.enabled
بشكل افتراضي.
يلخص الجدول التالي السلوك:
اسم الخاصية | الإعداد الافتراضي | المعنى |
---|---|---|
spark.sql.ansi.enabled |
true | عندما يكون صحيحا، يحاول Spark التوافق مع مواصفات ANSI SQL: * يطرح استثناء وقت التشغيل إذا حدث تجاوز في أي عملية على عدد صحيح أو حقل عشري. * يمنع استخدام الكلمات الأساسية المحجوزة ل ANSI SQL كمعرفات في محلل SQL. |
spark.sql.storeAssignmentPolicy |
Ansi | عند تخزين قيمة في عمود بنوع بيانات مختلف، يقوم Spark بتحويل النوع. هناك ثلاثة نهج لقواعد الإكراه من النوع: ANSI و legacy و.strict * ANSI : ينفذ Spark نوع الإكراه وفقا ل ANSI SQL. في الممارسة العملية، السلوك هو في الغالب نفس PostgreSQL. لا تسمح ببعض تحويلات النوع غير المعقولة مثل تحويل السلسلة إلى int أو مزدوجة إلى منطقية.* legacy : يسمح Spark بالإكراه النوع طالما أنه صب صالح، وهو فضفاض جدا. على سبيل المثال، يسمح بتحويل السلسلة إلى int أو مزدوجة إلى منطقية. كما أنه السلوك الوحيد في Spark 2.x وهو متوافق مع Apache Hive.* strict : لا يسمح Spark بأي فقدان دقة محتمل أو اقتطاع البيانات في الإكراه على النوع، على سبيل المثال، لا يسمح بالتحويل المزدوج إلى int أو عشري إلى مزدوج. |
تقدم الأقسام الفرعية التالية تغييرات السلوك في العمليات الحسابية وتحويلات النوع وتحليل SQL عند تمكين وضع ANSI. بالنسبة إلى تحويلات النوع في Spark SQL، هناك ثلاثة أنواع منها وستقدمها هذه المقالة واحدا تلو الآخر: الإرسال والتعيين المخزن والإكراه على النوع.
العمليات الحسابية
في Spark SQL، لا يتم التحقق من العمليات الحسابية التي يتم إجراؤها على الأنواع الرقمية (باستثناء الفاصلة العشرية) للتجاوز بشكل افتراضي.
وهذا يعني أنه في حالة حدوث تجاوز في العملية، تكون النتيجة هي نفسها مع العملية المقابلة في برنامج Java أو Scala (على سبيل المثال، إذا كان مجموع عددين صحيحين أعلى من الحد الأقصى للقيمة القابلة للتمثيل، تكون النتيجة رقما سالبا). من ناحية أخرى، يقوم Spark SQL بإرجاع قيمة خالية للتجاوز العشري.
عندما spark.sql.ansi.enabled
يتم تعيين إلى true
ويحدث تجاوز في العمليات الحسابية الرقمية والفاصل الزمني، فإنه يطرح استثناء حسابيا في وقت التشغيل.
-- `spark.sql.ansi.enabled=true`
> SELECT 2147483647 + 1;
error: integer overflow
-- `spark.sql.ansi.enabled=false`
> SELECT 2147483647 + 1;
-2147483648
التحويل
عندما spark.sql.ansi.enabled
يتم تعيين إلى true
، يطرح التحويل الصريح بواسطة CAST
بناء الجملة استثناء وقت التشغيل لأنماط التحويل غير القانونية المحددة في المعيار، مثل عمليات التحويل من سلسلة إلى عدد صحيح.
CAST
يتبع بند وضع Spark ANSI قواعد بناء الجملة للقسم 6.13 "مواصفات التحويل" في ISO/IEC 9075-2:2011 Information technology — لغات قاعدة البيانات - SQL — الجزء 2: Foundation (SQL/Foundation)، باستثناء أنه يسمح بشكل خاص بتحويلات النوع المباشر التالية التي لا يسمح بها وفقا لمعيار ANSI:
- NumericType <=> BooleanType
- StringType <=> BinaryType
يتم إعطاء المجموعات الصالحة من نوع البيانات المصدر والهدف في CAST
تعبير بواسطة الجدول التالي.
يشير "Y" إلى أن التركيبة صالحة من الناحية التركيبية دون قيود ويشير "N" إلى أن المجموعة غير صالحة.
مصدر الهدف | رقمي | السلسلة | التاريخ | الطابع الزمني | الفاصل الزمني | Boolean | ثنائي | صفيف | الخريطة | البنية |
---|---|---|---|---|---|---|---|---|---|---|
رقمي | نعم | السنة | N | N | N | السنة | N | N | N | N |
السلسلة | نعم | السنة | السنة | السنة | السنة | السنة | السنة | N | N | N |
التاريخ | N | نعم | السنة | السنة | N | N | N | N | N | N |
الطابع الزمني | N | نعم | السنة | السنة | N | N | N | N | N | N |
الفاصل الزمني | N | السنة | N | N | السنة | N | N | N | N | N |
Boolean | نعم | السنة | N | N | N | السنة | N | N | N | N |
ثنائي | Y | N | N | N | N | N | السنة | N | N | N |
صفيف | N | N | N | N | N | N | N | السنة | N | N |
الخريطة | N | N | N | N | N | N | N | N | السنة | N |
البنية | N | N | N | N | N | N | N | N | N | Y |
-- Examples of explicit casting
-- `spark.sql.ansi.enabled=true`
> SELECT CAST('a' AS INT);
ERROR: [CAST_INVALID_INPUT] The value 'a' of the type "STRING" cannot be cast to "INT" because it is malformed.
> SELECT CAST(2147483648L AS INT);
ERROR: [CAST_OVERFLOW] The value 2147483648L of the type "BIGINT" cannot be cast to "INT" due to an overflow.
> SELECT CAST(DATE'2020-01-01' AS INT)
ERROR: [DATATYPE_MISMATCH.CAST_WITH_FUNC_SUGGESTION] Cannot resolve "CAST(DATE '2020-01-01' AS INT)" due to data type mismatch: cannot cast "DATE" to "INT".
-- `spark.sql.ansi.enabled=false` (This is a default behavior)
> SELECT cast('a' AS INT);
null
> SELECT CAST(2147483648L AS INT);
-2147483648
> SELECT CAST(DATE'2020-01-01' AS INT);
null
تعيين المتجر
الإعداد spark.sql.storeAssignmentPolicy
افتراضيا إلى ANSI
. باستخدام هذا الإعداد، عندما لا تتطابق أنواع بيانات قيم المصدر مع أنواع الأعمدة الهدف، يضيف Spark SQL تلقائيا عبارات ANSI CAST إلى عبارة INSERT.
أثناء إدراج الجدول ضمن هذا النهج، يتحقق Spark من عمليات الإرسال غير الصالحة ويرفضها، ما يطرح استثناء لضمان جودة البيانات. وهذا يعني أنه إذا فشلت محاولة الإدراج بسبب عدم تطابق النوع، فلن يؤدي ذلك إلى كتابة أي بيانات جزئيا في الجدول.
أمثلة:
-- spark.sql.storeAssignmentPolicy=ANSI
> CREATE TABLE test(i INT);
> INSERT INTO test VALUES (2147483648L);
ERROR: [CAST_OVERFLOW_IN_TABLE_INSERT] Fail to insert a value of "BIGINT" type into the "INT" type column `i` due to an overflow.
> INSERT INTO test VALUES ('a');
ERROR: [CAST_INVALID_INPUT ERROR] The value 'a' of the type "STRING" cannot be cast to "INT" because it is malformed
توضح هذه الأمثلة أن Spark SQL يمنع إدراج البيانات غير المتوافقة، وبالتالي الحفاظ على تكامل البيانات.
spark.sql.storeAssignmentPolicy
عند تعيين إلى LEGACY
، يعود Spark SQL إلى السلوك السائد حتى Spark 2.x. في هذا الوضع، بدلا من استخدام ANSI CAST، فإنه يطبق عمليات CAST القديمة. ضمن هذا النهج، ينتج عن عمليات التحويل غير الصالحة أثناء إدراج الجدول إما قيم NULL أو قيم غير صحيحة يتم إدراجها، بدلا من طرح استثناء.
أمثلة:
-- spark.sql.storeAssignmentPolicy=LEGACY
> CREATE TABLE test(i INT);
> INSERT INTO test VALUES (2147483648L);
> INSERT INTO test VALUES ('a');
> SELECT * FROM test;
-- Results
-- -2147483648 (incorrect value due to overflow)
-- null (cannot cast 'a' to INT)
نوع الإكراه
ترقية النوع والأسبقية
عندما spark.sql.ansi.enabled
يتم تعيين إلى true
، يستخدم Spark SQL العديد من القواعد التي تحكم كيفية حل التعارضات بين أنواع البيانات.
في صميم حل التعارض هذا توجد قائمة أسبقية النوع التي تحدد ما إذا كان يمكن ترقية قيم نوع بيانات معين إلى نوع بيانات آخر ضمنيا.
نوع البيانات | قائمة الأسبقية (من الأضيق إلى الأعرض) |
---|---|
بايت | بايت -> قصير -> Int -> طويل -> عشري -> عائم* -> مزدوج |
قصير | Short -> Int -> Long -> Decimal -> Float* -> Double |
Int | Int -> Long -> Decimal -> Float* -> Double |
طويل | Long -> عشري -> عائم* -> مزدوج |
عدد عشري | عشري -> عائم* -> مزدوج |
Float | Float -> مزدوج |
مزدوج | مزدوج |
التاريخ | التاريخ -> الطابع الزمني |
الطابع الزمني | الطابع الزمني |
السلسلة | السلسلة |
ثنائي | ثنائي |
قيمة منطقية | قيمة منطقية |
الفاصل الزمني | الفاصل الزمني |
الخريطة | خريطه** |
صفيف | الصفيف** |
البنية | البنيه** |
- بالنسبة للنوع الأقل شيوعا، يتم تخطي الدقة العائمة لتجنب فقدان الدقة.
** بالنسبة لنوع معقد، تنطبق قاعدة الأسبقية بشكل متكرر على عناصر المكون الخاصة بها.
تنطبق القواعد الخاصة على نوع السلسلة و NULL غير مكتوب. يمكن ترقية NULL إلى أي نوع آخر، بينما يمكن ترقية سلسلة إلى أي نوع بيانات بسيط.
هذا تصوير رسومي لقائمة الأسبقية كشجرة موجهة:
دقة النوع الأقل شيوعا
النوع الأقل شيوعا من مجموعة من الأنواع هو النوع الأضيق الذي يمكن الوصول إليه من قائمة الأسبقية بواسطة كافة عناصر مجموعة الأنواع.
يتم استخدام دقة النوع الأقل شيوعا من أجل:
- حدد ما إذا كان يمكن استدعاء دالة تتوقع معلمة من نوع باستخدام وسيطة من نوع أضيق.
- اشتقاق نوع الوسيطة للدالات التي تتوقع نوع وسيطة مشتركة لمعلمات متعددة، مثل الاندماج أو الأقل أو الأكبر.
- اشتقاق أنواع المعاملات لعوامل التشغيل مثل العمليات الحسابية أو المقارنات.
- اشتقاق نوع النتيجة لتعبيرات مثل تعبير الحالة.
- اشتقاق نوع العنصر أو المفتاح أو القيمة لمنشئات الصفيف والخريطة.
يتم تطبيق قواعد خاصة إذا تم حل النوع الأقل شيوعا إلى FLOAT. مع قيم النوع العائم، إذا كان أي من الأنواع هو INT أو BIGINT أو DECIMAL، يتم دفع النوع الأقل شيوعا إلى DOUBLE لتجنب الخسارة المحتملة للأرقام.
-- The coalesce function accepts any set of argument types as long as they share a least common type.
-- The result type is the least common type of the arguments.
> SET spark.sql.ansi.enabled=true;
> SELECT typeof(coalesce(1Y, 1L, NULL));
BIGINT
> SELECT typeof(coalesce(1, DATE'2020-01-01'));
Error: Incompatible types [INT, DATE]
> SELECT typeof(coalesce(ARRAY(1Y), ARRAY(1L)));
ARRAY<BIGINT>
> SELECT typeof(coalesce(1, 1F));
DOUBLE
> SELECT typeof(coalesce(1L, 1F));
DOUBLE
> SELECT (typeof(coalesce(1BD, 1F)));
DOUBLE
-- The substring function expects arguments of type INT for the start and length parameters.
> SELECT substring('hello', 1Y, 2);
he
> SELECT substring('hello', '1', 2);
he
> SELECT substring('hello', 1L, 2);
Error: Argument 2 requires an INT type.
> SELECT substring('hello', str, 2) FROM VALUES(CAST('1' AS STRING)) AS T(str);
Error: Argument 2 requires an INT type.
دوال SQL
يمكن أن يكون سلوك بعض وظائف SQL مختلفا ضمن وضع ANSI (spark.sql.ansi.enabled=true
).
size
: ترجع هذه الدالة قيمة خالية لإدخال فارغ ضمن وضع ANSI.element_at
:- تطرح هذه الدالة
ArrayIndexOutOfBoundsException
إذا كنت تستخدم مؤشرات غير صالحة. - تطرح هذه الدالة
NoSuchElementException
إذا لم يكن المفتاح موجودا في الخريطة.
- تطرح هذه الدالة
elt
: تطرح هذه الدالةArrayIndexOutOfBoundsException
إذا كنت تستخدم فهارس غير صالحة.make_date
: تفشل هذه الدالة باستثناء إذا كان تاريخ النتيجة غير صالح.make_timestamp
: تفشل هذه الدالة باستثناء إذا كان الطابع الزمني للنتيجة غير صالح.make_interval
: تفشل هذه الدالة باستثناء إذا كان الفاصل الزمني للنتيجة غير صالح.next_day
: تطرح هذه الدالةIllegalArgumentException
إذا لم يكن الإدخال يوما صالحا من الأسبوع.parse_url
: تطرح هذه الدالةIllegalArgumentException
إذا لم تكن سلسلة الإدخال عنوان url صالحا.to_date
: تفشل هذه الدالة باستثناء إذا تعذر تحليل سلسلة الإدخال، أو كانت سلسلة النمط غير صالحة.to_timestamp
: تفشل هذه الدالة باستثناء إذا تعذر تحليل سلسلة الإدخال، أو كانت سلسلة النمط غير صالحة.to_unix_timestamp
: تفشل هذه الدالة باستثناء إذا تعذر تحليل سلسلة الإدخال، أو كانت سلسلة النمط غير صالحة.unix_timestamp
: تفشل هذه الدالة باستثناء إذا تعذر تحليل سلسلة الإدخال، أو كانت سلسلة النمط غير صالحة.
عوامل تشغيل SQL
يمكن أن يكون سلوك بعض عوامل تشغيل SQL مختلفا ضمن وضع ANSI (spark.sql.ansi.enabled=true
).
array_col[index]
: يطرحArrayIndexOutOfBoundsException
عامل التشغيل هذا إذا كان يستخدم مؤشرات غير صالحة.map_col[key]
: يطرحNoSuchElementException
عامل التشغيل هذا إذا لم يكن المفتاح موجودا في الخريطة.CAST(string_col AS TIMESTAMP)
: يفشل عامل التشغيل هذا باستثناء إذا تعذر تحليل سلسلة الإدخال.CAST(string_col AS DATE)
: يفشل عامل التشغيل هذا باستثناء إذا تعذر تحليل سلسلة الإدخال.
وظائف مفيدة لوضع ANSI
عند تشغيل وضع ANSI، فإنه يطرح استثناءات لعمليات غير صالحة. يمكنك استخدام وظائف SQL التالية لمنع مثل هذه الاستثناءات.
try_cast
: مطابق لCAST
، باستثناء أنه يرجعNULL
النتيجة بدلا من طرح استثناء في خطأ وقت التشغيل.try_add
: مطابق لعامل تشغيل+
الإضافة ، باستثناء أنه يرجعNULL
نتيجة بدلا من طرح استثناء على تجاوز القيمة المتكاملة.try_divide
: مطابق لعامل تشغيل/
القسمة ، باستثناء أنه يرجعNULL
النتيجة بدلا من طرح استثناء على قسمة 0.
الكلمات الأساسية ل SQL
عندما spark.sql.ansi.enabled
يكون صحيحا، سيستخدم Spark SQL محلل وضع ANSI.
في هذا الوضع، يحتوي Spark SQL على نوعين من الكلمات الأساسية:
- الكلمات الأساسية المحجوزة: الكلمات الأساسية المحجوزة والتي لا يمكن استخدامها كمعرفات للجدول، والعرض، والعمود، والدالة، والأسماء المستعارة، وما إلى ذلك.
- الكلمات الأساسية غير المحجوزة: الكلمات الأساسية التي لها معنى خاص فقط في سياقات معينة ويمكن استخدامها كمعرفات في سياقات أخرى. على سبيل المثال،
EXPLAIN SELECT ...
هو أمر، ولكن يمكن استخدام EXPLAIN كمعرفات في أماكن أخرى.
عند تعطيل وضع ANSI، يحتوي Spark SQL على نوعين من الكلمات الأساسية:
- الكلمات الأساسية غير المحجوزة: نفس التعريف مثل التعريف عند تمكين وضع ANSI.
- كلمات أساسية صارمة غير محجوزة: إصدار صارم من الكلمات الأساسية غير المحجوزة، والتي لا يمكن استخدامها كاسم مستعار للجدول.
بشكل افتراضي spark.sql.ansi.enabled
غير صحيح.
فيما يلي قائمة بجميع الكلمات الأساسية في Spark SQL.
كلمة أساسية | وضع Spark SQL ANSI | الوضع الافتراضي ل Spark SQL | SQL-2016 |
---|---|---|---|
ADD | غير محجوز | غير محجوز | غير محجوز |
بعد | غير محجوز | غير محجوز | غير محجوز |
ALL | محفوظه | غير محجوز | محفوظه |
تعديل | غير محجوز | غير محجوز | محفوظه |
دائما | غير محجوز | غير محجوز | غير محجوز |
التحليل | غير محجوز | غير محجوز | غير محجوز |
و | محفوظه | غير محجوز | محفوظه |
مكافحه | غير محجوز | صارم غير محجوز | غير محجوز |
ANY | محفوظه | غير محجوز | محفوظه |
ARCHIVE | غير محجوز | غير محجوز | غير محجوز |
ARRAY | غير محجوز | غير محجوز | محفوظه |
AS | محفوظه | غير محجوز | محفوظه |
الرابطه | غير محجوز | غير محجوز | غير محجوز |
AT | غير محجوز | غير محجوز | محفوظه |
التخويل | محفوظه | غير محجوز | محفوظه |
بين | غير محجوز | غير محجوز | محفوظه |
كل | محفوظه | غير محجوز | محفوظه |
دلو | غير محجوز | غير محجوز | غير محجوز |
الدلاء | غير محجوز | غير محجوز | غير محجوز |
BY | غير محجوز | غير محجوز | محفوظه |
ذاكره التخزين المؤقت | غير محجوز | غير محجوز | غير محجوز |
تتالي | غير محجوز | غير محجوز | غير محجوز |
CASE | محفوظه | غير محجوز | محفوظه |
CAST | محفوظه | غير محجوز | محفوظه |
تغيير | غير محجوز | غير محجوز | غير محجوز |
الاختيار | محفوظه | غير محجوز | محفوظه |
مسح | غير محجوز | غير محجوز | غير محجوز |
الكتله | غير محجوز | غير محجوز | غير محجوز |
متفاوت المسافات | غير محجوز | غير محجوز | غير محجوز |
CODEGEN | غير محجوز | غير محجوز | غير محجوز |
جمع | محفوظه | غير محجوز | محفوظه |
جمع | غير محجوز | غير محجوز | غير محجوز |
العمود | محفوظه | غير محجوز | محفوظه |
الأعمدة | غير محجوز | غير محجوز | غير محجوز |
التعليق | غير محجوز | غير محجوز | غير محجوز |
ارتكاب | غير محجوز | غير محجوز | محفوظه |
الاتفاق | غير محجوز | غير محجوز | غير محجوز |
الضغطات | غير محجوز | غير محجوز | غير محجوز |
حساب | غير محجوز | غير محجوز | غير محجوز |
سلسله | غير محجوز | غير محجوز | غير محجوز |
القيد | محفوظه | غير محجوز | محفوظه |
تكلفه | غير محجوز | غير محجوز | غير محجوز |
CREATE | محفوظه | غير محجوز | محفوظه |
عبر | محفوظه | صارم غير محجوز | محفوظه |
المكعب | غير محجوز | غير محجوز | محفوظه |
الحاليه | غير محجوز | غير محجوز | محفوظه |
CURRENT_DATE | محفوظه | غير محجوز | محفوظه |
CURRENT_TIME | محفوظه | غير محجوز | محفوظه |
CURRENT_TIMESTAMP | محفوظه | غير محجوز | محفوظه |
CURRENT_USER | محفوظه | غير محجوز | محفوظه |
البيانات | غير محجوز | غير محجوز | غير محجوز |
قاعدة البيانات | غير محجوز | غير محجوز | غير محجوز |
قواعد البيانات | غير محجوز | غير محجوز | غير محجوز |
DAY | غير محجوز | غير محجوز | غير محجوز |
خصائص DB | غير محجوز | غير محجوز | غير محجوز |
تعريف | غير محجوز | غير محجوز | غير محجوز |
حذف | غير محجوز | غير محجوز | محفوظه |
محدد | غير محجوز | غير محجوز | غير محجوز |
تنازلي | غير محجوز | غير محجوز | غير محجوز |
وصف | غير محجوز | غير محجوز | محفوظه |
Dfs | غير محجوز | غير محجوز | غير محجوز |
الدلائل | غير محجوز | غير محجوز | غير محجوز |
الدليل | غير محجوز | غير محجوز | غير محجوز |
مميز | محفوظه | غير محجوز | محفوظه |
توزيع | غير محجوز | غير محجوز | غير محجوز |
شعبه | غير محجوز | غير محجوز | ليست كلمة أساسية |
DROP | غير محجوز | غير محجوز | محفوظه |
اخر | محفوظه | غير محجوز | محفوظه |
نهايه | محفوظه | غير محجوز | محفوظه |
الهروب | محفوظه | غير محجوز | محفوظه |
هرب | غير محجوز | غير محجوز | غير محجوز |
EXCEPT | محفوظه | صارم غير محجوز | محفوظه |
EXCHANGE | غير محجوز | غير محجوز | غير محجوز |
EXISTS | غير محجوز | غير محجوز | محفوظه |
EXPLAIN | غير محجوز | غير محجوز | غير محجوز |
تصدير | غير محجوز | غير محجوز | غير محجوز |
الموسعه | غير محجوز | غير محجوز | غير محجوز |
خارجي | غير محجوز | غير محجوز | محفوظه |
استخراج | غير محجوز | غير محجوز | محفوظه |
خطأ | محفوظه | غير محجوز | محفوظه |
إحضار | محفوظه | غير محجوز | محفوظه |
الحقول | غير محجوز | غير محجوز | غير محجوز |
تصفيه | محفوظه | غير محجوز | محفوظه |
تنسيق الملف | غير محجوز | غير محجوز | غير محجوز |
FIRST | غير محجوز | غير محجوز | غير محجوز |
الجبهه الوطنيه | غير محجوز | غير محجوز | غير محجوز |
التاليه | غير محجوز | غير محجوز | غير محجوز |
من أجل | محفوظه | غير محجوز | محفوظه |
FOREIGN | محفوظه | غير محجوز | محفوظه |
التنسيق | غير محجوز | غير محجوز | غير محجوز |
تنسيق | غير محجوز | غير محجوز | غير محجوز |
FROM | محفوظه | غير محجوز | محفوظه |
الكامل | محفوظه | صارم غير محجوز | محفوظه |
وظيفه | غير محجوز | غير محجوز | محفوظه |
وظائف | غير محجوز | غير محجوز | غير محجوز |
انشاء | غير محجوز | غير محجوز | غير محجوز |
عمومي | غير محجوز | غير محجوز | محفوظه |
GRANT | محفوظه | غير محجوز | محفوظه |
منح | غير محجوز | غير محجوز | غير محجوز |
مجموعة | محفوظه | غير محجوز | محفوظه |
تجميع | غير محجوز | غير محجوز | محفوظه |
HAVING | محفوظه | غير محجوز | محفوظه |
ساعه | غير محجوز | غير محجوز | غير محجوز |
IF | غير محجوز | غير محجوز | ليست كلمة أساسية |
تجاهل | غير محجوز | غير محجوز | غير محجوز |
استيراد | غير محجوز | غير محجوز | غير محجوز |
IN | محفوظه | غير محجوز | محفوظه |
فهرس | غير محجوز | غير محجوز | غير محجوز |
الفهارس | غير محجوز | غير محجوز | غير محجوز |
INNER | محفوظه | صارم غير محجوز | محفوظه |
INPATH | غير محجوز | غير محجوز | غير محجوز |
تنسيق الإدخال | غير محجوز | غير محجوز | غير محجوز |
إدراج | غير محجوز | غير محجوز | محفوظه |
INTERSECT | محفوظه | صارم غير محجوز | محفوظه |
الفاصل | غير محجوز | غير محجوز | محفوظه |
INTO | محفوظه | غير محجوز | محفوظه |
IS | محفوظه | غير محجوز | محفوظه |
العناصر | غير محجوز | غير محجوز | غير محجوز |
انضمام | محفوظه | صارم غير محجوز | محفوظه |
مفتاح | غير محجوز | غير محجوز | غير محجوز |
المفاتيح | غير محجوز | غير محجوز | غير محجوز |
LAST | غير محجوز | غير محجوز | غير محجوز |
الجانبي | محفوظه | صارم غير محجوز | محفوظه |
كسول | غير محجوز | غير محجوز | غير محجوز |
دالة LEADING | محفوظه | غير محجوز | محفوظه |
LEFT | محفوظه | صارم غير محجوز | محفوظه |
LIKE | غير محجوز | غير محجوز | محفوظه |
Ilike | غير محجوز | غير محجوز | غير محجوز |
الحد | غير محجوز | غير محجوز | غير محجوز |
خطوط | غير محجوز | غير محجوز | غير محجوز |
قائمة | غير محجوز | غير محجوز | غير محجوز |
تحميل | غير محجوز | غير محجوز | غير محجوز |
LOCAL | غير محجوز | غير محجوز | محفوظه |
الموقع | غير محجوز | غير محجوز | غير محجوز |
قفل | غير محجوز | غير محجوز | غير محجوز |
اقفال | غير محجوز | غير محجوز | غير محجوز |
المنطقيه | غير محجوز | غير محجوز | غير محجوز |
الماكرو | غير محجوز | غير محجوز | غير محجوز |
تعيين | غير محجوز | غير محجوز | غير محجوز |
مطابقه | غير محجوز | غير محجوز | غير محجوز |
دمج | غير محجوز | غير محجوز | غير محجوز |
دقيقه | غير محجوز | غير محجوز | غير محجوز |
ناقص | غير محجوز | صارم غير محجوز | غير محجوز |
MONTH | غير محجوز | غير محجوز | غير محجوز |
MSCK | غير محجوز | غير محجوز | غير محجوز |
مساحه الاسم | غير محجوز | غير محجوز | غير محجوز |
مساحات اسماء | غير محجوز | غير محجوز | غير محجوز |
الطبيعيه | محفوظه | صارم غير محجوز | محفوظه |
لا | غير محجوز | غير محجوز | محفوظه |
NOT | محفوظه | غير محجوز | محفوظه |
قيمة فارغة | محفوظه | غير محجوز | محفوظه |
القيم الخاليه | غير محجوز | غير محجوز | غير محجوز |
من | غير محجوز | غير محجوز | محفوظه |
تشغيل | محفوظه | صارم غير محجوز | محفوظه |
فقط | محفوظه | غير محجوز | محفوظه |
الخيار | غير محجوز | غير محجوز | غير محجوز |
الخيارات | غير محجوز | غير محجوز | غير محجوز |
OR | محفوظه | غير محجوز | محفوظه |
طلب | محفوظه | غير محجوز | محفوظه |
خارج | غير محجوز | غير محجوز | محفوظه |
الخارجي | محفوظه | غير محجوز | محفوظه |
تنسيق الإخراج | غير محجوز | غير محجوز | غير محجوز |
OVER | غير محجوز | غير محجوز | غير محجوز |
التداخل | محفوظه | غير محجوز | محفوظه |
تراكب | غير محجوز | غير محجوز | غير محجوز |
الكتابه | غير محجوز | غير محجوز | غير محجوز |
قسم | غير محجوز | غير محجوز | محفوظه |
تقسيم | غير محجوز | غير محجوز | غير محجوز |
اقسام | غير محجوز | غير محجوز | غير محجوز |
المائه | غير محجوز | غير محجوز | غير محجوز |
المحوريه | غير محجوز | غير محجوز | غير محجوز |
وضع | غير محجوز | غير محجوز | غير محجوز |
موقف | غير محجوز | غير محجوز | محفوظه |
السابقه | غير محجوز | غير محجوز | غير محجوز |
PRIMARY | محفوظه | غير محجوز | محفوظه |
مديري المدارس | غير محجوز | غير محجوز | غير محجوز |
الخصائص | غير محجوز | غير محجوز | غير محجوز |
تطهير | غير محجوز | غير محجوز | غير محجوز |
التاهل | محفوظه | غير محجوز | محفوظه |
QUERY | غير محجوز | غير محجوز | غير محجوز |
مجموعه | غير محجوز | غير محجوز | محفوظه |
المستلم | غير محجوز | غير محجوز | غير محجوز |
المستلمين | غير محجوز | غير محجوز | غير محجوز |
قارئ السجلات | غير محجوز | غير محجوز | غير محجوز |
كاتب السجلات | غير محجوز | غير محجوز | غير محجوز |
استرداد | غير محجوز | غير محجوز | غير محجوز |
الحد | غير محجوز | غير محجوز | غير محجوز |
المراجع | محفوظه | غير محجوز | محفوظه |
تحديث | غير محجوز | غير محجوز | غير محجوز |
Regexp | غير محجوز | غير محجوز | ليست كلمة أساسية |
ازاله | غير محجوز | غير محجوز | غير محجوز |
RENAME | غير محجوز | غير محجوز | غير محجوز |
اصلاح | غير محجوز | غير محجوز | غير محجوز |
REPLACE | غير محجوز | غير محجوز | غير محجوز |
اعاده تعيين | غير محجوز | غير محجوز | غير محجوز |
احترام | غير محجوز | غير محجوز | غير محجوز |
تقييد | غير محجوز | غير محجوز | غير محجوز |
إبطال | غير محجوز | غير محجوز | محفوظه |
RIGHT | محفوظه | صارم غير محجوز | محفوظه |
مفتاح RLIKE | غير محجوز | غير محجوز | غير محجوز |
الدور | غير محجوز | غير محجوز | غير محجوز |
ادوار | غير محجوز | غير محجوز | غير محجوز |
العوده | غير محجوز | غير محجوز | محفوظه |
القيمة المحتسبة | غير محجوز | غير محجوز | محفوظه |
الصف | غير محجوز | غير محجوز | محفوظه |
الصفوف | غير محجوز | غير محجوز | محفوظه |
مخطط | غير محجوز | غير محجوز | غير محجوز |
المخططات | غير محجوز | غير محجوز | ليست كلمة أساسية |
الثانيه | غير محجوز | غير محجوز | غير محجوز |
حدد … | محفوظه | غير محجوز | محفوظه |
شبه | غير محجوز | صارم غير محجوز | غير محجوز |
فصل | غير محجوز | غير محجوز | غير محجوز |
SERDE | غير محجوز | غير محجوز | غير محجوز |
خصائص SERDE | غير محجوز | غير محجوز | غير محجوز |
SESSION_USER | محفوظه | غير محجوز | محفوظه |
SET | غير محجوز | غير محجوز | محفوظه |
مجموعات | غير محجوز | غير محجوز | غير محجوز |
SHARE | غير محجوز | غير محجوز | غير محجوز |
الاسهم | غير محجوز | غير محجوز | غير محجوز |
عرض | غير محجوز | غير محجوز | غير محجوز |
منحرفه | غير محجوز | غير محجوز | غير محجوز |
بعض | محفوظه | غير محجوز | محفوظه |
نوع | غير محجوز | غير محجوز | غير محجوز |
فرز | غير محجوز | غير محجوز | غير محجوز |
START | غير محجوز | غير محجوز | محفوظه |
الاحصاءات | غير محجوز | غير محجوز | غير محجوز |
تخزين | غير محجوز | غير محجوز | غير محجوز |
STRATIFY | غير محجوز | غير محجوز | غير محجوز |
البنيه | غير محجوز | غير محجوز | غير محجوز |
SUBSTR | غير محجوز | غير محجوز | غير محجوز |
SUBSTRING | غير محجوز | غير محجوز | غير محجوز |
SYNC | غير محجوز | غير محجوز | غير محجوز |
TABLE | محفوظه | غير محجوز | محفوظه |
الجداول | غير محجوز | غير محجوز | غير محجوز |
الطابع الزمني للجداول | غير محجوز | غير محجوز | محفوظه |
ТБ LPROPERTIES | غير محجوز | غير محجوز | غير محجوز |
TEMP | غير محجوز | غير محجوز | ليست كلمة أساسية |
المؤقته | غير محجوز | غير محجوز | غير محجوز |
انهاء | غير محجوز | غير محجوز | غير محجوز |
ثم | محفوظه | غير محجوز | محفوظه |
TIME | محفوظه | غير محجوز | محفوظه |
معدل فقد الكرة | محفوظه | غير محجوز | محفوظه |
اتصال | غير محجوز | غير محجوز | غير محجوز |
الدالة TRAILING | محفوظه | غير محجوز | محفوظه |
العملية | غير محجوز | غير محجوز | غير محجوز |
المعاملات | غير محجوز | غير محجوز | غير محجوز |
تحويل | غير محجوز | غير محجوز | غير محجوز |
TRIM | غير محجوز | غير محجوز | غير محجوز |
صواب | غير محجوز | غير محجوز | محفوظه |
اقتطاع | غير محجوز | غير محجوز | محفوظه |
TRY_CAST | غير محجوز | غير محجوز | غير محجوز |
اكتب | غير محجوز | غير محجوز | غير محجوز |
غير أرشفي | غير محجوز | غير محجوز | غير محجوز |
غير محدود | غير محجوز | غير محجوز | غير محجوز |
UNCACHE | غير محجوز | غير محجوز | غير محجوز |
UNION | محفوظه | صارم غير محجوز | محفوظه |
فريده | محفوظه | غير محجوز | محفوظه |
UNKNOWN | محفوظه | غير محجوز | محفوظه |
إلغاء القفل | غير محجوز | غير محجوز | غير محجوز |
إلغاء الإعداد | غير محجوز | غير محجوز | غير محجوز |
تحديث | غير محجوز | غير محجوز | محفوظه |
استخدم | غير محجوز | غير محجوز | غير محجوز |
USER | محفوظه | غير محجوز | محفوظه |
استخدام | محفوظه | صارم غير محجوز | محفوظه |
القيم | غير محجوز | غير محجوز | محفوظه |
عرض | غير محجوز | غير محجوز | غير محجوز |
طرق العرض | غير محجوز | غير محجوز | غير محجوز |
عندما | محفوظه | غير محجوز | محفوظه |
WHERE | محفوظه | غير محجوز | محفوظه |
اطار | غير محجوز | غير محجوز | محفوظه |
مع | محفوظه | غير محجوز | محفوظه |
YEAR | غير محجوز | غير محجوز | غير محجوز |
المنطقه | غير محجوز | غير محجوز | غير محجوز |