مشاركة عبر


date_part دالة

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

استخراج جزء من التاريخ أو الطابع الزمني أو الفاصل الزمني.

بناء الجملة

date_part(fieldStr, expr)

الوسيطات

  • fieldStr: قيمة حرفية STRING .
  • expr: تعبير DATEأو TIMESTAMPأو INTERVAL .

المرتجعات

إذا كان fieldStr هو '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'، ، 'W''WEEKS': عدد 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': كم ثانية مع كسور متبقية بعد ساعات ودقائق من ميكروثانية

date_part الدالة هي مرادف لدالة استخراج SQL القياسية.

على سبيل المثال date_part('year', CURRENT_DATE) يعادل extract(YEAR FROM CURRENT_DATE)

الأمثلة

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

> SELECT date_part('Week', TIMESTAMP'2019-08-12 01:00:00.123456');
 33

> SELECT date_part('day', DATE'2019-08-12');
 224

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

> SELECT date_part('Months', INTERVAL '2-11' YEAR TO MONTH);
 11

> SELECT date_part('seconds', INTERVAL '5:00:30.001' HOUR TO SECOND);
 30.001000