توافق 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 | غير محجوز | غير محجوز | غير محجوز |
Namespace | غير محجوز | غير محجوز | غير محجوز |
مساحات الأسماء | غير محجوز | غير محجوز | غير محجوز |
طبيعي | محجوز | صارم غير محجوز | محجوز |
لا | غير محجوز | غير محجوز | محجوز |
NOT | محجوز | غير محجوز | محجوز |
قيمة فارغة | محجوز | غير محجوز | محجوز |
القيم الخاليه | غير محجوز | غير محجوز | غير محجوز |
من | غير محجوز | غير محجوز | محجوز |
تشغيل | محجوز | صارم غير محجوز | محجوز |
فقط | محجوز | غير محجوز | محجوز |
الخيار | غير محجوز | غير محجوز | غير محجوز |
الخيارات | غير محجوز | غير محجوز | غير محجوز |
OR | محجوز | غير محجوز | محجوز |
ترتيب | محجوز | غير محجوز | محجوز |
خارج | غير محجوز | غير محجوز | محجوز |
خارجي | محجوز | غير محجوز | محجوز |
تنسيق الإخراج | غير محجوز | غير محجوز | غير محجوز |
OVER | غير محجوز | غير محجوز | غير محجوز |
التداخلات | محجوز | غير محجوز | محجوز |
تراكب | غير محجوز | غير محجوز | غير محجوز |
الكتابه | غير محجوز | غير محجوز | غير محجوز |
قسم | غير محجوز | غير محجوز | محجوز |
تقسيم | غير محجوز | غير محجوز | غير محجوز |
اقسام | غير محجوز | غير محجوز | غير محجوز |
المائه | غير محجوز | غير محجوز | غير محجوز |
محور | غير محجوز | غير محجوز | غير محجوز |
وضع | غير محجوز | غير محجوز | غير محجوز |
موضع | غير محجوز | غير محجوز | محجوز |
سابق | غير محجوز | غير محجوز | غير محجوز |
PRIMARY | محجوز | غير محجوز | محجوز |
مديري المدارس | غير محجوز | غير محجوز | غير محجوز |
الخصائص | غير محجوز | غير محجوز | غير محجوز |
تطهير | غير محجوز | غير محجوز | غير محجوز |
التاهل | محجوز | غير محجوز | محجوز |
QUERY | غير محجوز | غير محجوز | غير محجوز |
نطاق | غير محجوز | غير محجوز | محجوز |
المستلم | غير محجوز | غير محجوز | غير محجوز |
المستلمين | غير محجوز | غير محجوز | غير محجوز |
قارئ السجلات | غير محجوز | غير محجوز | غير محجوز |
كاتب السجلات | غير محجوز | غير محجوز | غير محجوز |
أفاق | غير محجوز | غير محجوز | غير محجوز |
قلل | غير محجوز | غير محجوز | غير محجوز |
المراجع | محجوز | غير محجوز | محجوز |
تحديث | غير محجوز | غير محجوز | غير محجوز |
REGEXP | غير محجوز | غير محجوز | ليست كلمة أساسية |
أبعد | غير محجوز | غير محجوز | غير محجوز |
RENAME | غير محجوز | غير محجوز | غير محجوز |
رم | غير محجوز | غير محجوز | غير محجوز |
REPLACE | غير محجوز | غير محجوز | غير محجوز |
اعاده تعيين | غير محجوز | غير محجوز | غير محجوز |
احترام | غير محجوز | غير محجوز | غير محجوز |
تقيد | غير محجوز | غير محجوز | غير محجوز |
إبطال | غير محجوز | غير محجوز | محجوز |
RIGHT | محجوز | صارم غير محجوز | محجوز |
مفتاح RLIKE | غير محجوز | غير محجوز | غير محجوز |
الدور | غير محجوز | غير محجوز | غير محجوز |
ادوار | غير محجوز | غير محجوز | غير محجوز |
العوده | غير محجوز | غير محجوز | محجوز |
القيمة المحتسبة | غير محجوز | غير محجوز | محجوز |
صف | غير محجوز | غير محجوز | محجوز |
الصفوف | غير محجوز | غير محجوز | محجوز |
مخطط | غير محجوز | غير محجوز | غير محجوز |
المخططات | غير محجوز | غير محجوز | ليست كلمة أساسية |
ثان | غير محجوز | غير محجوز | غير محجوز |
حدد … | محجوز | غير محجوز | محجوز |
شبه | غير محجوز | صارم غير محجوز | غير محجوز |
منفصل | غير محجوز | غير محجوز | غير محجوز |
SERDE | غير محجوز | غير محجوز | غير محجوز |
خصائص SERDE | غير محجوز | غير محجوز | غير محجوز |
SESSION_USER | محجوز | غير محجوز | محجوز |
SET | غير محجوز | غير محجوز | محجوز |
طقوم | غير محجوز | غير محجوز | غير محجوز |
SHARE | غير محجوز | غير محجوز | غير محجوز |
الاسهم | غير محجوز | غير محجوز | غير محجوز |
عرض | غير محجوز | غير محجوز | غير محجوز |
منحرفه | غير محجوز | غير محجوز | غير محجوز |
بعض | محجوز | غير محجوز | محجوز |
صنف | غير محجوز | غير محجوز | غير محجوز |
فرز | غير محجوز | غير محجوز | غير محجوز |
START | غير محجوز | غير محجوز | محجوز |
الاحصاءات | غير محجوز | غير محجوز | غير محجوز |
تخزين | غير محجوز | غير محجوز | غير محجوز |
STRATIFY | غير محجوز | غير محجوز | غير محجوز |
البنيه | غير محجوز | غير محجوز | غير محجوز |
SUBSTR | غير محجوز | غير محجوز | غير محجوز |
SUBSTRING | غير محجوز | غير محجوز | غير محجوز |
SYNC | غير محجوز | غير محجوز | غير محجوز |
TABLE | محجوز | غير محجوز | محجوز |
الجداول | غير محجوز | غير محجوز | غير محجوز |
الطابع الزمني للجداول | غير محجوز | غير محجوز | محجوز |
TBLPROPERTIES | غير محجوز | غير محجوز | غير محجوز |
TEMP | غير محجوز | غير محجوز | ليست كلمة أساسية |
مؤقت | غير محجوز | غير محجوز | غير محجوز |
انهاء | غير محجوز | غير محجوز | غير محجوز |
ثم | محجوز | غير محجوز | محجوز |
TIME | محجوز | غير محجوز | محجوز |
معدل فقد الكرة | محجوز | غير محجوز | محجوز |
يلمس | غير محجوز | غير محجوز | غير محجوز |
الدالة TRAILING | محجوز | غير محجوز | محجوز |
العملية | غير محجوز | غير محجوز | غير محجوز |
المعاملات | غير محجوز | غير محجوز | غير محجوز |
تحول | غير محجوز | غير محجوز | غير محجوز |
TRIM | غير محجوز | غير محجوز | غير محجوز |
صواب | غير محجوز | غير محجوز | محجوز |
اقتطاع | غير محجوز | غير محجوز | محجوز |
TRY_CAST | غير محجوز | غير محجوز | غير محجوز |
اكتب | غير محجوز | غير محجوز | غير محجوز |
غير أرشفي | غير محجوز | غير محجوز | غير محجوز |
غير محدود | غير محجوز | غير محجوز | غير محجوز |
UNCACHE | غير محجوز | غير محجوز | غير محجوز |
UNION | محجوز | صارم غير محجوز | محجوز |
فريد | محجوز | غير محجوز | محجوز |
UNKNOWN | محجوز | غير محجوز | محجوز |
إلغاء القفل | غير محجوز | غير محجوز | غير محجوز |
إلغاء الإعداد | غير محجوز | غير محجوز | غير محجوز |
تحديث | غير محجوز | غير محجوز | محجوز |
استخدم | غير محجوز | غير محجوز | غير محجوز |
USER | محجوز | غير محجوز | محجوز |
استخدام | محجوز | صارم غير محجوز | محجوز |
القيم | غير محجوز | غير محجوز | محجوز |
منظر | غير محجوز | غير محجوز | غير محجوز |
طرق العرض | غير محجوز | غير محجوز | غير محجوز |
متى | محجوز | غير محجوز | محجوز |
WHERE | محجوز | غير محجوز | محجوز |
نافذة | غير محجوز | غير محجوز | محجوز |
مع | محجوز | غير محجوز | محجوز |
YEAR | غير محجوز | غير محجوز | غير محجوز |
منطقة | غير محجوز | غير محجوز | غير محجوز |