TIMESTAMP نوع

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

يمثل القيم التي تتكون من قيم الحقول السنة والشهر واليوم والساعة والدقيقة والثانية، مع المنطقة الزمنية المحلية لجلسة العمل. تمثل قيمة الطابع الزمني نقطة زمنية مطلقة.

بناء الجملة

TIMESTAMP

الحدود

نطاق الطوابع الزمنية المدعومة هو -290308-12-21 BCE 19:59:06 GMT إلى +294247-01-10 CE 04:00:54 GMT.

القيم الحرفية

TIMESTAMP timestampString

timestampString
{ '[+|-]yyyy[...]' |
  '[+|-]yyyy[...]-[m]m' |
  '[+|-]yyyy[...]-[m]m-[d]d' |
  '[+|-]yyyy[...]-[m]m-[d]d ' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h[:]' |
  '[+|-]yyyy[..]-[m]m-[d]d[T][h]h:[m]m[:]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s[.]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s.[ms][ms][ms][us][us][us][zoneId]' }
  • + أو -: علامة اختيارية. - يشير إلى BCE، + ويشير إلى CE (افتراضي).
  • yyyy: سنة تتكون من أربعة أرقام على الأقل.
  • [m]m: شهر واحد أو رقمين بين 01 و12.
  • [d]d: يوم واحد أو رقمين بين 01 و31.
  • h[h]: ساعة واحدة أو رقمين بين 00 و23.
  • m[m]: دقيقة أو رقمين بين 00 و59.
  • s[s]: ثانية واحدة أو رقمين بين 00 و59.
  • [ms][ms][ms][us][us][us]: ما يصل إلى 6 أرقام من الثوان الكسرية.

zoneId:

  • Z - المنطقة الزمنية لزولو UTC+0
  • +|-[h]h:[m]m
  • معرف بإحدى البادئات UTC+أو UTC-أو GMT+أو GMT-أو UT+ أو UT-، ولاحقة بالتنسيقات:
    • +|-h[h]
    • +|-hh[:]mm
    • +|-hh:mm:ss
    • +|-hhmmss
  • معرفات المنطقة المستندة إلى المنطقة في النموذج <area>/<city>، على سبيل المثال، Europe/Paris.

إذا لم يتم تحديد مكونات الشهر أو اليوم، فسيتم تعيينها افتراضيا إلى 1. إذا لم يتم تحديد مكونات الساعة أو الدقيقة أو الثانية فهي افتراضية إلى 0. إذا لم zoneId يتم تحديده، فسيتم تعيينه افتراضيا إلى المنطقة الزمنية لجلسة العمل،

إذا كانت القيمة الحرفية لا تمثل طابعا زمنيا مناسبا، فإن Azure Databricks يثير خطأ.

ملاحظات

يتم تطبيع الطوابع الزمنية ذات المنطقة الزمنية المحلية داخليا واستمرارها في التوقيت العالمي المتفق عليه. كلما تم استخراج القيمة أو جزء منها، يتم تطبيق المنطقة الزمنية المحلية للجلسة.

الأمثلة

> SELECT TIMESTAMP'0000';
  0000-01-01 00:00:00

> SELECT TIMESTAMP'2020-12-31';
  2020-12-31 00:00:00

> SELECT TIMESTAMP'2021-7-1T8:43:28.123456';
  2021-07-01 08:43:28.123456

> SELECT current_timezone(), TIMESTAMP'2021-7-1T8:43:28UTC+3';
  America/Los_Angeles 2021-06-30 22:43:28

> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP)
  1908-03-15 10:01:17

> SELECT TIMESTAMP'+10000';
  +10000-01-01 00:00:00