مشاركة عبر


أنماط التاريخ والوقت

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime

هناك العديد من السيناريوهات الشائعة لاستخدام التاريخ والوقت في Azure Databricks:

جدول النقش

يستخدم Azure Databricks أحرف نمط في الجدول التالي لتحليل التاريخ والطابع الزمني وتنسيقه:

الرمز المعنى عرض تقديمي الأمثلة
G عصر النص الاعلان; آنو دوميني
y year year 2020; 20
D day-of-year number(3) 189
M/L شهر من السنة month 7; 07; يوليو; يوليو
d day-of-month number(3) 28
Q/q ربع السنة رقم/نص 3; 03; الربع الثالث؛ الربع الثالث
E day-of-week النص الثلاثاء; الثلاثاء
F محاذاة يوم من الأسبوع في الشهر number(1) 3
a am-pm-of-day am-pm مدير مشروعات
h ساعة-ساعة من-ص-م (1-12) number(2) 12
K ساعة من صباحا مساء (0-11) number(2) 0
k ساعة في اليوم (1-24) number(2) 0
H ساعة من اليوم (0-23) number(2) 0
m دقيقة في الساعة number(2) 30
s الثانية من الدقيقة number(2) 55
S كسر من الثانية جزء 978
V معرف المنطقة الزمنية معرف المنطقة أمريكا/Los_Angeles؛ Z; -08:30
z اسم المنطقة الزمنية اسم المنطقة توقيت المحيط الهادئ القياسي؛ الباسيفيكي
O إزاحة المنطقة المترجمة إزاحة O GMT+8؛ GMT+08:00؛ UTC-08:00;
X إزاحة المنطقة 'Z' للصفر إزاحة X Z; -08; -0830; -08:30; -083015; -08:30:15;
x إزاحة المنطقة offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15;
Z إزاحة المنطقة offset-Z +0000; -0800; -08:00;
إلغاء النص المحدِّد
‘’ علامة اقتباس مفردة حرفي
[ بدء المقطع الاختياري
] نهاية المقطع الاختيارية

يحدد عدد أحرف النمط التنسيق.

  • النص: يتم تحديد نمط النص استنادا إلى عدد أحرف النمط المستخدمة. سيستخدم أقل من 4 أحرف نمطية نموذج النص القصير، وعادة ما يكون اختصارا، على سبيل المثال، يوم من الأسبوع الاثنين قد يؤدي إلى إخراج "Mon". ستستخدم 4 أحرف نمطية بالضبط نموذج النص الكامل، وعادة ما يكون الوصف الكامل، على سبيل المثال، يوم من الأسبوع الاثنين قد ينتج "الاثنين". ستفشل 5 أحرف أو أكثر.

  • Number(n): يمثل n هنا الحد الأقصى لعدد الأحرف التي يمكن استخدام هذا النوع من نمط التاريخ والوقت. إذا كان عدد الأحرف واحدا، فإن القيمة هي الإخراج باستخدام الحد الأدنى لعدد الأرقام وبدون ترك مساحة. وإلا، يتم استخدام عدد الأرقام كعرض لحقل الإخراج، مع القيمة صفر مبطن حسب الضرورة.

  • رقم/نص: إذا كان عدد أحرف النمط 3 أو أكثر، فاستخدم قواعد النص أعلاه. وإلا استخدم قواعد الأرقام أعلاه.

  • كسر: استخدم حرفا واحدا أو أكثر (حتى 9) أحرف متجاورة 'S' ، على سبيل المثال، SSSSSS، لتحليل الكسر الثاني وتنسيقه. للتحلل، يمكن أن يكون طول الكسر المقبول [1، عدد 'S' المتجاورة]. للتنسيق، ستتم إضافة طول الكسر إلى عدد "S" المتجاورة بالأصفار. يدعم Azure Databricks تاريخ وقت الدقة الدقيقة للثانية، والتي تحتوي على ما يصل إلى 6 أرقام مهمة، ولكن يمكن تحليل nano-of-second مع اقتطاع الجزء الذي تم تجاوزه.

  • السنة: يحدد عدد الأحرف الحد الأدنى لعرض الحقل الذي يتم استخدام ترك المساحة أسفله. إذا كان عدد الأحرف اثنين، استخدام نموذج مكون من رقمين مخفضين. للطباعة، يؤدي هذا إلى إخراج رقمين في أقصى اليمين. ومن أجل التحليل، سيتم تحليل هذا باستخدام القيمة الأساسية لعام 2000، مما يؤدي إلى عام ضمن النطاق من 2000 إلى 2099 ضمنا. إذا كان عدد الأحرف أقل من أربعة (ولكن ليس اثنين)، فإن العلامة هي إخراج فقط للسنوات السالبة. وإلا، تكون العلامة ناتجة إذا تم تجاوز عرض اللوحة عندما لا يكون 'G' موجودا. ستفشل 7 أحرف أو أكثر.

  • الشهر: يتبع قاعدة الرقم/النص. يعتمد نموذج النص على الأحرف - 'M' يشير إلى النموذج "القياسي"، وهو 'L' للنموذج "المستقل". يختلف هذان النوعان فقط في بعض اللغات. على سبيل المثال، في اللغة الروسية، "Июль" هو الشكل المستقل ل يوليو، و"Июля" هو النموذج القياسي. فيما يلي أمثلة لجميع أحرف النمط المدعومة:

    • 'M' أو 'L': رقم الشهر في السنة بدءا من 1. لا يوجد فرق بين 'M' و 'L'. تتم طباعة الشهر من 1 إلى 9 دون ترك مساحة.

      > SELECT date_format(date '1970-01-01', 'M');
        1
      
      > SELECT date_format(date '1970-12-01', 'L');
        12
      
    • 'MM' أو 'LL': رقم الشهر في السنة بدءا من 1. تتم إضافة ترك مساحة صفرية للأشهر من 1 إلى 9.

      > SELECT date_format(date '1970-1-01', 'LL');
        01
      
      > SELECT date_format(date '1970-09-01', 'MM');
        09
      
    • 'MMM': تمثيل نصي قصير في النموذج القياسي. يجب أن يكون نمط الشهر جزءا من نمط التاريخ وليس فقط شهرا مستقلا باستثناء اللغات التي لا يوجد فيها فرق بين الأشكال المستقلة والفردية كما هو الحال في اللغة الإنجليزية.

      > SELECT date_format(date '1970-01-01', 'd MMM');
        1 Jan
      
      -- Passing a format pattern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'dd MMM', 'locale', 'RU'));
        01 янв.
      
    • 'MMMM': تمثيل كامل للشهر النصي في النموذج القياسي. يتم استخدامه لتحليل/ تنسيق الأشهر كجزء من التواريخ/الطوابع الزمنية.

      > SELECT date_format(date '1970-01-01', 'd MMMM');
        1 January
      
      -- Passing a format pttern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'd MMMM', 'locale', 'RU'));
        1 января
      
  • am-pm: يؤدي هذا إلى إخراج am-pm-of-day. يجب أن يكون عدد أحرف النمط 1.

  • معرف المنطقة (V): يؤدي هذا إلى إخراج عرض معرف المنطقة الزمنية. يجب أن يكون عدد أحرف النمط 2.

  • أسماء المناطق (z): يؤدي هذا إلى إخراج الاسم النصي للعرض لمعرف المنطقة الزمنية. إذا كان عدد الأحرف واحدا أو اثنين أو ثلاثة، فإن الاسم المختصر هو الإخراج. إذا كان عدد الأحرف أربعة، فإن الاسم الكامل هو الإخراج. ستفشل خمسة أحرف أو أكثر.

  • إزاحة X وx: يؤدي هذا إلى تنسيق الإزاحة استنادا إلى عدد أحرف النمط. ينتج حرف واحد الساعة فقط، مثل '+01'، ما لم تكن الدقيقة غير صفرية، وفي هذه الحالة تكون الدقيقة ناتجة أيضا، مثل '+0130'. يقوم حرفان بخرج الساعة والدقيقة، بدون نقطتين، مثل '+0130'. تقوم ثلاثة أحرف بإخراج الساعة والدقيقة، مع علامة النقطتين، مثل '+01:30'. تقوم أربعة أحرف لإخراج الساعة والدقيقة والثانية الاختيارية، بدون نقطتين، مثل '+013015'. تقوم خمسة أحرف بإخراج الساعة والدقيقة والثانية الاختيارية، مع علامة النقطتين، مثل '+01:30:15'. ستفشل ستة أحرف أو أكثر. سيخرج حرف النمط 'X' (الأحرف العلوية) 'Z' عندما تكون الإزاحة التي سيتم إخراجها صفرا، بينما سيخرج حرف النمط 'x' (أحرف صغيرة) '+00' أو '+0000' أو '+00:00'.

  • الإزاحة O: يعمل هذا على تنسيق الإزاحة المترجمة استنادا إلى عدد أحرف النمط. يقوم حرف واحد بإخراج الشكل القصير للإزاحة المترجمة، وهو نص إزاحة مترجم، مثل "GMT"، مع ساعة بدون صفر بادئة، دقيقة اختيارية مكونة من رقمين والثانية إذا لم تكن صفرية، والنقطتين، على سبيل المثال "GMT+8". تقوم أربعة أحرف بإخراج النموذج الكامل، وهو نص إزاحة مترجم، مثل "GMT، مع حقل ساعة ودقيقة مكون من رقمين، وحقل ثان اختياري إذا لم يكن صفرا، والنقطتين، على سبيل المثال "GMT+08:00". سيفشل أي عدد آخر من الأحرف.

  • الإزاحة Z: يعمل هذا على تنسيق الإزاحة استنادا إلى عدد أحرف النمط. يقوم حرف واحد أو حرفان أو ثلاثة إخراج الساعة والدقيقة، بدون نقطتين، مثل '+0130'. الإخراج هو '+0000' عندما تكون الإزاحة صفرا. أربعة أحرف إخراج الشكل الكامل للإزاحة المترجمة، ما يعادل أربعة أحرف من Offset-O. الإخراج هو نص الإزاحة المترجم المطابق إذا كانت الإزاحة صفرا. تقوم خمسة أحرف بإخراج الساعة والدقيقة، مع الثانية الاختيارية إذا لم تكن صفرية، مع علامة النقطتين. وهو إخراج 'Z' إذا كانت الإزاحة صفرا. ستفشل ستة أحرف أو أكثر.

  • بداية المقطع الاختياري ونهاته: استخدم [] لتعريف مقطع اختياري وربما متداخل. أثناء التنسيق، يتم إخراج جميع البيانات الصالحة حتى في القسم الاختياري. أثناء التحليل، قد يكون المقطع بأكمله مفقودا من السلسلة التي تم تحليلها. يبدأ المقطع الاختياري وينتهي [ باستخدام ] (أو في نهاية النمط).

  • يمكن استخدام رموز "E" و"F" و"q" و"Q" فقط لتنسيق التاريخ والوقت، على سبيل المثال date_format. لا يسمح باستخدامها لتحليل التاريخ والوقت، على سبيل المثال. to_timestamp