ستريك البيانات SQL أنواع البيانات

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

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

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

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

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

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

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

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

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

  • Inf, +Inf, إنفينيتي, +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