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، وبالتالي فإن النتيجة هي 2004QUARTER
،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 هو جزء من الأسبوع الأول من عام 2013DAY
،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
: إجمالي الأشهر / 12MONTH
،MON
،MONS
،MONTHS
: إجمالي الأشهر ٪ 12DAY
،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