extract دالة

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

إرجاع field .source

بناء الجملة

extract(field FROM source)

الوسيطات

  • field: كلمة أساسية تحدد الجزء source الذي يجب استخراجه.
  • source: تعبير DATEأو TIMESTAMPأو INTERVAL .

المرتجعات

إذا كان field هو SECOND، ف .DECIMAL(8, 6) في جميع الحالات الأخرى، يكون INTEGER.

القيم المعتمدة للوقت source field أو DATE TIMESTAMP:

  • YEAR، Y، YEARS، YR، YRS: حقل السنة
  • YEAROFWEEK: سنة ترقيم الأسابيع ISO 8601 التي يقع فيها التاريخ والوقت. على سبيل المثال، 2005-01-02 هو جزء من الأسبوع 53 من السنة 2004، وبالتالي فإن النتيجة هي 2004
  • QUARTER، QTR: ربع السنة (1 - 4) من السنة التي يقع فيها التاريخ والوقت
  • MONTH، MON، MONS، MONTHS: حقل الشهر (1 - 12)
  • WEEK، ، WWEEKS: عدد ISO 8601 أسبوع من الأسبوع على أساس السنة. يعتبر الأسبوع يبدأ يوم الاثنين والأسبوع 1 هو الأسبوع الأول مع >3 أيام. وفي نظام ترقيم أسابيع ISO، يمكن أن تكون تواريخ أوائل كانون الثاني/يناير جزءا من الأسبوع 52 أو 53 من السنة السابقة، وأن تكون تواريخ أواخر كانون الأول/ديسمبر جزءا من الأسبوع الأول من السنة المقبلة. على سبيل المثال، يعد 2005-01-02 جزءا من الأسبوع الثالث والخمسين من عام 2004، في حين أن 2012-12-31 هو جزء من الأسبوع الأول من عام 2013
  • DAY، D، DAYS: حقل يوم الشهر (1 - 31)
  • DAYOFWEEK، DOW: يوم الأسبوع للتاريخ والوقت من الأحد(1) إلى السبت(7)
  • DAYOFWEEK_ISO، DOW_ISO: يوم يستند إلى ISO 8601 من الأسبوع للتاريخ والوقت من الاثنين(1) إلى الأحد(7)
  • DOY: يوم السنة (1 - 365/366)
  • HOUR، H، HOURS، HR، HRS: حقل الساعة (0 - 23)
  • MINUTE، M، MIN، MINS، MINUTES: حقل الدقائق (0 - 59)
  • SECOND، S، SEC، SECONDS، SECS: حقل الثوان، بما في ذلك الأجزاء الكسرية

القيم المعتمدة للوقت field source ( INTERVAL غير حساسة لحالة الأحرف):

  • YEAR، Y، YEARS، YR، YRS: إجمالي الأشهر / 12
  • MONTH، MON، MONS، MONTHS: إجمالي الأشهر ٪ 12
  • DAY، D، DAYS: جزء الأيام من الفاصل الزمني
  • HOUR، H، HOURS، HR، HRS: عدد الساعات التي تحتويها الميكرو ثانية
  • MINUTE، M، MIN، MINS، MINUTES: عدد الدقائق المتبقية بعد أخذ ساعات من ميكرو ثانية
  • SECOND، S، SEC، SECONDS، SECS: كم ثانية مع كسور متبقية بعد ساعات ودقائق من ميكروثانية

الأمثلة

> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');
 2019

> SELECT extract(week FROM TIMESTAMP'2019-08-12 01:00:00.123456');
 33

> SELECT extract(DAY FROM DATE'2019-08-12');
 12

> SELECT extract(SECONDS FROM TIMESTAMP'2019-10-01 00:00:01.000001');
 1.000001

> SELECT extract(MONTHS FROM INTERVAL '2-11' YEAR TO MONTH);
 11

> SELECT extract(SECONDS FROM INTERVAL '5:00:30.001' HOUR TO SECOND);
 30.001000