أنواع البيانات SQL

للاطلاع على القواعد التي تحكم كيفية حل التعارضات بين أنواع البيانات، راجع SQL قواعد نوع البيانات (Databricks SQL).

أنواع البيانات المدعومة

يدعم Databricks SQL أنواع البيانات التالية:

نوع البيانات الوصف
بيجينت يمثل أرقاما صحيحة موقعة بحجم 8 بايت.
ثنائي يمثل قيم تسلسل البايت.
منطقيه يمثل القيم المنطقية.
تاريخ تمثل القيم التي تتضمن قيم الحقول السنة والشهر واليوم، بدون منطقة زمنية.
عشري (ع ، ق) يمثل الأرقام بأقصى قدر من الدقة p والمقياس sالثابت .
مزدوج يمثل أرقام النقاط العائمة مزدوجة الدقة 8 بايت.
طفا يمثل أرقام النقاط العائمة أحادية الدقة سعة 4 بايت.
الباحث يمثل أرقاما صحيحة موقعة بحجم 4 بايت.
الفاصل الزمنيالكواليفالكوالين يمثل فترات زمنية إما على مقياس من الثواني أو الأشهر.
صِفْر يمثل NULL غير المكتوب.
سمولينت يمثل أرقاما صحيحة موقعة بحجم 2 بايت.
خيط يمثل قيم سلسلة الأحرف.
الطابع الزمني يمثل القيم التي تضم قيم الحقول السنة والشهر واليوم والساعة والدقيقة والثانية، مع المنطقة الزمنية المحلية للجلسة.
تينينت يمثل أرقام الأعداد الصحيحة الموقعة 1 بايت.
صفيف يمثل القيم التي تتكون من سلسلة من العناصر مع نوع elementType.
MAPKeyType,valueType> يمثل القيم التي تضم مجموعة من أزواج القيم الرئيسية.
STRUCT[اسم الحقل:نوع الحقل [ليس فارغا] [تعليق str][, ...]]> يمثل القيم ذات البنية الموضحة بواسطة سلسلة من الحقول.

تصنيف نوع البيانات

يتم تجميع أنواع البيانات في الفئات التالية:

  • تمثل الأنواع الرقمية المتكاملة الأعداد الصحيحة:
  • تمثل الأنواع الرقمية الدقيقة أرقام الأساس 10:
  • تستخدم أنواع النقاط العائمة الثنائية الأسس والتمثيل الثنائي لتغطية مجموعة كبيرة من الأرقام:
  • تمثل الأنواع الرقمية جميع أنواع البيانات الرقمية:
    • الأنواع الرقمية الدقيقة
    • أنواع النقاط العائمة الثنائية
  • تمثل أنواع التاريخ والوقت مكونات التاريخ والوقت:
  • أنواع البيانات البسيطة هي أنواع يتم تعريفها عن طريق الاحتفاظ بقيم مفردة:
  • الأنواع المعقدة هي أنواع تتكون من مكونات متعددة من أنواع معقدة أو بسيطة:

قيم النقطة العائمة الخاصة

يتم التعامل مع العديد من قيم النقاط العائمة الخاصة بطريقة غير حساسة لحالة الأحرف:

  • Inf، +Inf، Infinity، +Infinity: ما لا نهاية موجبة
  • -Inf، -Infinity: سالب اللانهاية
  • NaN: ليس رقما

الدلالات اللانهائية الموجبة والسلبية

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

  • اللانهاية الموجبة مضروبة في أي قيمة موجبة تعود باللانهاية الموجبة.
  • سالب اللانهاية مضروبا في أي قيمة موجبة يعود سالب اللانهاية.
  • اللانهاية الموجبة مضروبة في أي قيمة سالبة ترجع سالبة اللانهاية.
  • اللانهاية السالبة مضروبة في أي قيمة سالبة ترجع اللانهاية الموجبة.
  • موجب أو سالب اللانهاية مضروبا في 0 يعود NaN.
  • اللانهاية الموجبة أو السلبية تساوي نفسها.
  • في التجميعات ، يتم تجميع جميع قيم اللانهاية الموجبة معا. وبالمثل ، يتم تجميع جميع قيم اللانهاية السالبة معا.
  • يتم التعامل مع اللانهاية الموجبة واللانهاية السالبة كقيم طبيعية في مفاتيح الانضمام.
  • تفرز اللانهاية الموجبة أقل من NaN وأعلى من أي قيم أخرى.
  • تفرز اللانهاية السالبة أقل من أي قيم أخرى.

دلالات NaN

عند التعامل مع float أو double الأنواع التي لا تتطابق تماما مع دلالات النقطة العائمة القياسية ، فإن NaN لديها الدلالات التالية:

  • NaN = NaN ترجع true.
  • في التجميعات، يتم تجميع كافة قيم NaN معا.
  • يتم التعامل مع NaN كقيمة عادية في مفاتيح الانضمام.
  • تذهب قيم NaN إلى آخر مرة عندما تكون بترتيب تصاعدي ، أكبر من أي قيمة رقمية أخرى.

أمثلة

> SELECT double('infinity');
 Infinity

> SELECT float('-inf');
 -Infinity

> SELECT float('NaN');
 NaN

> SELECT double('infinity') * 0;
 NaN

> SELECT double('-infinity') * (-1234567);
 Infinity

> SELECT double('infinity') < double('NaN');
 true

> SELECT double('NaN') = double('NaN');
 true

> SELECT double('inf') = double('infinity');
 true

> SELECT COUNT(*), c2
    FROM VALUES (1, double('infinity')),
                (2, double('infinity')),
                (3, double('inf')),
                (4, double('-inf')),
                (5, double('NaN')),
                (6, double('NaN')),
                (7, double('-infinity'))
        AS test(c1, c2)
    GROUP BY c2;
        2       NaN
        2 -Infinity
        3  Infinity