Europe/Amsterdam. وفي هذه الحالة، تكون المنطقة الزمنية المستخدمة هي المنطقة المحددة بدلًا من المنطقة الزمنية المحلية (الافتراضية).
مثال
لتحقيق التوافق مع معيار SQL، يمكن استخدام الدوال التالية دون أقواس:
NOW وCURRENT_TIMESTAMP وLOCALTIME وLOCALTIMESTAMP وTODAY وCURRENT_DATE.UTCTimestamp
now('UTC'). وقد أُضيفت فقط لدعم MySQL. ويُعد now الخيار المفضّل.
الصياغة
UTC_timestamp
المعاملات
- لا يوجد.
DateTime
أمثلة
الحصول على الطابع الزمني الحالي بتوقيت UTC
Query
Response
YYYYMMDDToDate
Date.
هذه الدالة هي عكس الدالة toYYYYMMDD().
تكون النتيجة غير معرّفة إذا كان الإدخال لا يمثّل قيمة Date صالحة.
البنية
Date من الوسائط المقدَّمة Date
أمثلة
مثال
Query
Response
YYYYMMDDToDate32
Date32.
هذه الدالة هي عكس الدالة toYYYYMMDD().
يكون الناتج غير معرّف إذا لم يُشفِّر الإدخال قيمة Date32 صالحة.
الصيغة
Date32 من الوسائط المُدخلة Date32
أمثلة
مثال
Query
Response
YYYYMMDDhhmmssToDateTime
DateTime.
هذه الدالة هي عكس الدالة toYYYYMMDDhhmmss().
يكون الناتج غير معرّف إذا كان الإدخال لا يمثّل قيمة DateTime صالحة.
البنية
YYYYMMDDhhmmss— رقم يحتوي على السنة والشهر واليوم والساعة والدقيقة والثانية.(U)Int*أوFloat*أوDecimaltimezone— اسم المنطقة الزمنية.String
DateTime من الوسائط المحددة DateTime
أمثلة
مثال
Query
Response
YYYYMMDDhhmmssToDateTime64
DateTime64.
هذه الدالة هي عكس الدالة toYYYYMMDDhhmmss().
يكون الناتج غير معرّف إذا كان الإدخال لا يرمّز قيمة DateTime64 صالحة.
الصيغة
YYYYMMDDhhmmss— رقم يحتوي على السنة والشهر واليوم والساعة والدقيقة والثانية.(U)Int*أوFloat*أوDecimalprecision— دقة الجزء الكسري (0-9).UInt8timezone— اسم المنطقة الزمنية.String
DateTime64 من المعاملات المحددة DateTime64
أمثلة
مثال
Query
Response
addDate
datetime— التاريخ أو التاريخ مع الوقت الذي يُضاف إليهinterval.DateأوDate32أوDateTimeأوDateTime64أوStringinterval— الفترة الزمنية المراد إضافتها.Interval
interval إلى datetime. Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة فترة زمنية إلى تاريخ
Query
Response
addDays
datetime— تاريخ أو تاريخ مع وقت يُراد إضافة العدد المحدد من الأيام إليه.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأيام المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num يومًا إليه. Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة أيام إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
addHours
datetime— تاريخ أو تاريخ مع وقت يُضاف إليه عدد الساعات المحدد.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الساعات المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num ساعة إليه. DateTime أو DateTime64(3)
أمثلة
إضافة ساعات إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
addInterval
ستُدمج الفترات الزمنية من النوع نفسه في فترة زمنية واحدة. على سبيل المثال، إذا تم تمرير
toIntervalDay(1) و toIntervalDay(2)، فستكون النتيجة (3) بدلًا من (1,1).interval_1— قيمة Interval الأولى أوTupleمن قيمInterval.IntervalأوTuple(Interval)interval_2— قيمة Interval الثانية المراد إضافتها.Interval
Tuple من قيم Interval Tuple(Interval)
أمثلة
إضافة فواصل زمنية
Query
Response
addMicroseconds
datetime— تاريخ ووقت يُضاف إليه العدد المحدد من الميكروثواني.DateTimeأوDateTime64أوStringnum— عدد الميكروثواني المطلوب إضافته.(U)Int*أوFloat*
date_time بعد إضافة num من الميكروثواني DateTime64
أمثلة
إضافة ميكروثوانٍ إلى أنواع مختلفة من التاريخ والوقت
Query
Response
Query
Response
addMilliseconds
datetime— تاريخ ووقت يُضاف إليه العدد المحدد من المللي ثانية.DateTimeأوDateTime64أوStringnum— عدد المللي ثانية المطلوب إضافته.(U)Int*أوFloat*
datetime بعد إضافة num مللي ثانية إليه DateTime64
أمثلة
إضافة مللي ثانية إلى أنواع مختلفة من التاريخ والوقت
Query
Response
Query
Response
addMinutes
datetime— تاريخ أو قيمة تاريخ/وقت يُضاف إليها العدد المحدد من الدقائق.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الدقائق المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num دقيقةً إليه. DateTime أو DateTime64(3)
أمثلة
إضافة دقائق إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
addMonths
datetime— تاريخ أو تاريخ مع وقت لإضافة عدد محدد من الأشهر إليه.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأشهر المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num من الأشهر إليه Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة أشهر إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
addNanoseconds
datetime— قيمة تاريخ ووقت يُراد إضافة العدد المحدد من النانوثواني إليها.DateTimeأوDateTime64أوStringnum— عدد النانوثواني المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num من النانوثواني إليه من النوع DateTime64
أمثلة
إضافة نانوثوانٍ إلى أنواع مختلفة من التاريخ والوقت
Query
Response
Query
Response
addQuarters
datetime— تاريخ أو تاريخ ووقت يُضاف إليه العدد المحدد من أرباع السنة.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد أرباع السنة المطلوب إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num من أرباع السنة إليه Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة أرباع السنة إلى أنواع مختلفة من التاريخ
Query
Response
Query
Response
addSeconds
datetime— تاريخ أو تاريخ مع وقت لإضافة العدد المحدد من الثواني إليه.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الثواني المراد إضافته.(U)Int*أوFloat*
datetime بعد إضافة num ثانية إليه. DateTime أو DateTime64(3)
أمثلة
إضافة ثوانٍ إلى أنواع تاريخ متعددة
Query
Response
Query
Response
addTupleOfIntervals
datetime— تاريخ أو تاريخ مع وقت لإضافة الفترات إليه.DateأوDate32أوDateTimeأوDateTime64intervals—Tupleمن الفترات لإضافتها إلىdatetime.Tuple(Interval)
date بعد إضافة intervals Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة Tuple من الفترات إلى تاريخ
Query
Response
addWeeks
datetime— تاريخ أو تاريخ يتضمن وقتًا لإضافة العدد المحدد من الأسابيع إليه.DateorDate32orDateTimeorDateTime64orStringnum— عدد الأسابيع المراد إضافتها.(U)Int*orFloat*
datetime بعد إضافة num من الأسابيع إليه Date or Date32 or DateTime or DateTime64
أمثلة
إضافة أسابيع إلى أنواع مختلفة من التواريخ
Query
Response
Query
Response
addYears
datetime— تاريخ أو تاريخ مع وقت لإضافة العدد المحدد من السنوات إليه.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد السنوات المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num سنة إليه. Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة سنوات إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
age
startdate وenddate.
ويُحسب الفرق باستخدام دقة مقدارها 1 نانوثانية.
على سبيل المثال، يكون الفرق بين 2021-12-29 و2022-01-01 هو 3 أيام لوحدة اليوم،
و0 شهرًا لوحدة الشهر، و0 سنة لوحدة السنة.
كبديل للدالة age، راجع الدالة dateDiff.
البنية
unit— نوع الفاصل الزمني للنتيجة.
| Unit | القيم الممكنة |
|---|---|
| nanosecond | nanosecond, nanoseconds, ns |
| microsecond | microsecond, microseconds, us, u |
| millisecond | millisecond, milliseconds, ms |
| second | second, seconds, ss, s |
| minute | minute, minutes, mi, n |
| hour | hour, hours, hh, h |
| day | day, days, dd, d |
| week | week, weeks, wk, ww |
| month | month, months, mm, m |
| quarter | quarter, quarters, qq, q |
| year | year, years, yyyy, yy |
startdate— أول قيمة زمنية للطرح (المطروح).DateأوDate32أوDateTimeأوDateTime64enddate— ثاني قيمة زمنية يُطرح منها (المطروح منه).DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. اسم المنطقة الزمنية. إذا تم تحديده، فسيُطبَّق على كلٍّ من startdate و enddate. وإذا لم يتم تحديده، فستُستخدم المنطقتان الزمنيتان لـ startdate و enddate. وإذا لم تكونا متماثلتين، فالنتيجة غير محددة.String
Int32
أمثلة
حساب العمر بالساعات
Query
Response
Query
Response
changeDay
date_or_datetime— القيمة المطلوب تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن اليوم. Date أو Date32 أو DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
changeHour
date_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن الساعة. DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
changeMinute
date or date time.
البنية
date_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime بعد تعديل مكوّن الدقيقة. DateTime أو DateTime64
أمثلة
مثال للاستخدام
Query
Response
changeMonth
date_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن الشهر. Date أو Date32 أو DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
changeSecond
date_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن الثواني. DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
changeYear
date_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن السنة. Date أو Date32 أو DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
dateDiff
unit المحددة التي جرى تجاوزها بين startdate وenddate.
يُحسب الفرق باستخدام الوحدات النسبية. على سبيل المثال، الفرق بين 2021-12-29 و2022-01-01 هو 3 أيام للوحدة day
(راجع toRelativeDayNum)، وشهر واحد للوحدة month (راجع toRelativeMonthNum)، وسنة واحدة للوحدة year
(راجع toRelativeYearNum).
إذا جرى تحديد الوحدة week، فإن dateDiff يفترض أن الأسابيع تبدأ يوم الاثنين.
لاحظ أن هذا السلوك يختلف عن سلوك الدالة toWeek()، حيث تبدأ الأسابيع افتراضيًا يوم الأحد.
كبديل لـ dateDiff، راجع الدالة age.
البنية
timestampDiff, TIMESTAMP_DIFF, DATE_DIFF, date_diff, timestamp_diff
المعاملات
unit— نوع الفاصل الزمني المستخدم في النتيجة.
| الوحدة | القيم الممكنة |
|---|---|
| نانوثانية | nanosecond, nanoseconds, ns |
| ميكروثانية | microsecond, microseconds, us, u |
| مللي ثانية | millisecond, milliseconds, ms |
| ثانية | second, seconds, ss, s |
| دقيقة | minute, minutes, mi, n |
| ساعة | hour, hours, hh, h |
| يوم | day, days, dd, d |
| أسبوع | week, weeks, wk, ww |
| شهر | month, months, mm, m |
| ربع سنة | quarter, quarters, qq, q |
| سنة | year, years, yyyy, yy |
startdate— القيمة الزمنية الأولى التي تُطرح (المطروح).DateأوDate32أوDateTimeأوDateTime64enddate— القيمة الزمنية الثانية التي يُطرح منها (المطروح منه).DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. اسم المنطقة الزمنية. إذا تم تحديده، فسيُطبَّق على كلٍّ منstartdateوenddate. وإذا لم يتم تحديده، فستُستخدم المنطقتان الزمنيتان لـstartdateوenddate. وإذا لم تكونا متماثلتين، فستكون النتيجة غير محددة.String
enddate وstartdate معبَّرًا عنه بوحدة unit. Int64
أمثلة
حساب فرق التاريخ بالساعات
Query
Response
Query
Response
dateName
- ‘year’
- ‘quarter’
- ‘month’
- ‘week’
- ‘dayofyear’
- ‘day’
- ‘weekday’
- ‘hour’
- ‘minute’
- ‘second’
date_part— جزء التاريخ الذي تريد استخراجه.Stringdatetime— قيمة تاريخ أو تاريخ ووقت.DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. المنطقة الزمنية.String
String
أمثلة
استخراج أجزاء مختلفة من التاريخ
Query
Response
dateTrunc
DATE_TRUNC
الوسيطات
unit— وحدة الفترة الزمنية المراد اقتطاع النتيجة إليها. القيم الممكنة:nanosecond(فقط DateTime64)،microsecond(فقط DateTime64)،millisecond(فقط DateTime64)،second،minute،hour،day،week،month،quarter،year.Stringdatetime— التاريخ والوقت.DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. اسم المنطقة الزمنية لقيمة التاريخ والوقت المعادة. إذا لم يتم تحديده، تستخدم الدالة المنطقة الزمنية الخاصة بالوسيطةdatetime.String
وسيطة unit | وسيطة datetime | نوع الإرجاع |
|---|---|---|
| Year, Quarter, Month, Week | Date32 أو DateTime64 أو Date أو DateTime | Date32 أو Date |
| Day, Hour, Minute, Second | Date32، DateTime64، Date، أو DateTime | DateTime64 أو DateTime |
| Millisecond, Microsecond, | أي قيمة | DateTime64 |
| Nanosecond | بمقياس 3 أو 6 أو 9 |
Query
Response
Query
Response
formatDateTime
format تعبيرًا ثابتًا، لذا لا يمكنك استخدام عدة تنسيقات لعمود نتيجة واحد.
تستخدم formatDateTime أسلوب تنسيق datetime الخاص بـ MySQL، راجع وثائق MySQL.
العملية العكسية لهذه الدالة هي parseDateTime.
باستخدام حقول الاستبدال، يمكنك تحديد نمط للسلسلة الناتجة.
يوضح عمود المثال في الجدول أدناه نتيجة التنسيق للقيمة 2018-01-02 22:33:44.
حقول الاستبدال:
| العنصر النائب | الوصف | مثال |
|---|---|---|
| %a | الاسم المختصر ليوم الأسبوع (Mon-Sun) | Mon |
| %b | الاسم المختصر للشهر (Jan-Dec) | Jan |
| %c | الشهر كرقم صحيح (01-12) | 01 |
| %C | السنة مقسومة على 100 ومحوّلة إلى عدد صحيح (00-99) | 20 |
| %d | يوم الشهر مع أصفار بادئة (01-31) | 02 |
| %D | تاريخ قصير بصيغة MM/DD/YY، ويكافئ %m/%d/%y | 01/02/18 |
| %e | يوم الشهر مع مسافات بادئة (1-31) | 2 |
| %f | الجزء الكسري من الثانية | 123456 |
| %F | تاريخ قصير بصيغة YYYY-MM-DD، ويكافئ %Y-%m-%d | 2018-01-02 |
| %g | تنسيق سنة من رقمين، متوافق مع ISO 8601 | 18 |
| %G | تنسيق سنة من أربعة أرقام لرقم الأسبوع وفق ISO | 2018 |
| %h | الساعة بتنسيق 12 ساعة (01-12) | 09 |
| %H | الساعة بتنسيق 24 ساعة (00-23) | 22 |
| %i | الدقيقة (00-59) | 33 |
| %I | الساعة بتنسيق 12 ساعة (01-12) | 10 |
| %j | يوم السنة (001-366) | 002 |
| %k | الساعة بتنسيق 24 ساعة (00-23) | 14 |
| %l | الساعة بتنسيق 12 ساعة (01-12) | 09 |
| %m | الشهر كرقم صحيح (01-12) | 01 |
| %M | الاسم الكامل للشهر (January-December) | January |
| %n | محرف سطر جديد | |
| %p | مؤشر AM أو PM | PM |
| %Q | الربع (1-4) | 1 |
| %r | وقت 12 ساعة بصيغة HH:MM AM/PM، ويكافئ %h:%i %p | 10:30 PM |
| %R | وقت 24 ساعة بصيغة HH:MM، ويكافئ %H:%i | 22:33 |
| %s | الثانية (00-59) | 44 |
| %S | الثانية (00-59) | 44 |
| %t | محرف tab أفقي | |
| %T | تنسيق الوقت ISO 8601 (HH:MM:SS)، ويكافئ %H:%i:%S | 22:33:44 |
| %u | يوم الأسبوع في ISO 8601 كرقم يبدأ فيه الاثنين من 1 (1-7) | 2 |
| %V | رقم الأسبوع وفق ISO 8601 (01-53) | 01 |
| %w | يوم الأسبوع كرقم صحيح يبدأ فيه الأحد من 0 (0-6) | 2 |
| %W | الاسم الكامل ليوم الأسبوع (Monday-Sunday) | Monday |
| %y | السنة، آخر رقمين (00-99) | 18 |
| %Y | السنة | 2018 |
| %z | إزاحة الوقت عن UTC بصيغة +HHMM أو -HHMM | -0500 |
| %% | علامة % | % |
- في إصدارات ClickHouse الأقدم من v23.4، تطبع
%fصفرًا واحدًا (0) إذا كانت القيمة المنسّقة من النوع Date أو Date32 أو DateTime (التي لا تحتوي على أجزاء كسرية من الثانية) أو من النوع DateTime64 بدقة تساوي 0. - في إصدارات ClickHouse الأقدم من v25.1، تطبع
%fعددًا من الخانات يساوي precision الخاصة بـ DateTime64 بدلًا من 6 خانات ثابتة. - في إصدارات ClickHouse الأقدم من v23.4، تطبع
%Mالدقيقة (00-59) بدلًا من الاسم الكامل للشهر (January-December).
DATE_FORMAT
الوسيطات
datetime— تاريخ أو تاريخ ووقت المراد تنسيقه.DateأوDate32أوDateTimeأوDateTime64format— سلسلة تنسيق تحتوي على حقول استبدال.Stringtimezone— اختياري. اسم المنطقة الزمنية للوقت المنسَّق.String
String
أمثلة
تنسيق التاريخ باستخدام العنصر النائب للسنة
Query
Response
Query
Response
Query
Response
formatDateTimeInJodaSyntax
formatDateTime، إلا أنها تنسّق قيم التاريخ والوقت بأسلوب Joda بدلًا من أسلوب MySQL. راجع توثيق Joda Time.
العملية العكسية لهذه الدالة هي parseDateTimeInJodaSyntax.
باستخدام حقول الاستبدال، يمكنك تحديد نمط للسلسلة الناتجة.
حقول الاستبدال:
| العنصر النائب | الوصف | العرض | أمثلة |
|---|---|---|---|
| G | العصر | نص | AD |
| C | قرن العصر (>=0) | رقم | 20 |
| Y | سنة العصر (>=0) | سنة | 1996 |
| x | سنة الأسبوع (غير مدعومة بعد) | سنة | 1996 |
| w | أسبوع سنة الأسبوع (غير مدعوم بعد) | رقم | 27 |
| e | يوم الأسبوع | رقم | 2 |
| E | يوم الأسبوع | نص | Tuesday; Tue |
| y | السنة | سنة | 1996 |
| D | اليوم من السنة | رقم | 189 |
| M | شهر السنة | شهر | July; Jul; 07 |
| d | يوم الشهر | رقم | 10 |
| a | نصف اليوم | نص | PM |
| K | ساعة نصف اليوم (0~11) | رقم | 0 |
| h | ساعة نصف اليوم بنظام الساعة (1~12) | رقم | 12 |
| H | ساعة اليوم (0~23) | رقم | 0 |
| k | ساعة اليوم بنظام الساعة (1~24) | رقم | 24 |
| m | دقيقة الساعة | رقم | 30 |
| s | ثانية الدقيقة | رقم | 55 |
| S | جزء من الثانية | رقم | 978 |
| z | المنطقة الزمنية | نص | Eastern Standard Time; EST |
| Z | إزاحة المنطقة الزمنية | منطقة | -0800; -0812 |
| ’ | إفلات للنص | فاصل | |
| ” | علامة اقتباس مفردة | قيمة حرفية | ’ |
datetime— تاريخ أو تاريخ ووقت لتنسيقه.DateTimeأوDateأوDate32أوDateTime64format— سلسلة تنسيق تتضمن حقول استبدال بنمط Joda.Stringtimezone— اختياري. اسم المنطقة الزمنية للوقت المنسَّق.String
String
أمثلة
تنسيق التاريخ والوقت باستخدام بنية Joda
Query
Response
fromDaysSinceYearZero
FROM_DAYS() في MySQL. وتكون النتيجة غير معرّفة إذا تعذّر تمثيلها ضمن حدود النوع Date.
الصيغة
FROM_DAYS
الوسائط
days— عدد الأيام المنقضية منذ العام صفر.UInt32
Date
أمثلة
تحويل الأيام منذ العام صفر إلى تواريخ
Query
Response
fromDaysSinceYearZero32
FROM_DAYS() في MySQL. وتكون النتيجة غير معرّفة إذا تعذّر تمثيلها ضمن حدود النوع Date32.
البنية
days— عدد الأيام المنقضية منذ السنة صفر.UInt32
Date32
أمثلة
تحويل الأيام منذ السنة صفر إلى تواريخ
Query
Response
fromModifiedJulianDay
YYYY-MM-DD. تدعم هذه الدالة أرقام الأيام من -678941 إلى 2973483 (وهي تمثل 0000-01-01 و9999-12-31 على التوالي). وتُطلق استثناءً إذا كان رقم اليوم خارج النطاق المدعوم.
البنية
day— رقم اليوم اليولياني المُعدَّل.(U)Int*
String
أمثلة
تحويل اليوم اليولياني المُعدَّل إلى تاريخ
Query
Response
fromModifiedJulianDayOrNull
fromModifiedJulianDay()، لكنه يعيد NULL بدلًا من إطلاق استثناءات.
الصيغة
day— رقم اليوم اليولياني المعدّل.(U)Int*
day صالحة، وإلا فستكون null. Nullable(String)
أمثلة
تحويل اليوم اليولياني المعدّل إلى تاريخ مع التعامل مع القيم null
Query
Response
fromUTCTimestamp
from_utc_timestamp
الوسيطات
datetime— قيمة ثابتة من نوع تاريخ أو تاريخ مع وقت، أو تعبير.DateTimeأوDateTime64time_zone— قيمة ثابتة من نوع String أو تعبير يمثّل المنطقة الزمنية.String
DateTime أو DateTime64
أمثلة
تحويل المنطقة الزمنية UTC إلى المنطقة الزمنية المحددة
Query
Response
fromUnixTimestamp
- عند تمرير وسيط واحد من النوع
Integer، فإنها تُرجع قيمة من النوعDateTime، أي إنها تتصرف مثلtoDateTime. - عند تمرير وسيطين أو ثلاثة، بحيث يكون الوسيط الأول قيمة من النوع
IntegerأوDateأوDate32أوDateTimeأوDateTime64، ويكون الوسيط الثاني سلسلة تنسيق ثابتة، ويكون الوسيط الثالث سلسلة اختيارية ثابتة للمنطقة الزمنية، فإن الدالة تُرجع قيمة من النوعString، أي إنها تتصرف مثلformatDateTime. في هذه الحالة، يُستخدم نمط MySQL لتنسيق التاريخ والوقت.
FROM_UNIXTIME
الوسائط
timestamp— طابع زمني لـ Unix أو قيمة تاريخ/تاريخ مع وقت.(U)Int*أوDateأوDate32أوDateTimeأوDateTime64format— اختياري. سلسلة تنسيق ثابتة لتنسيق الإخراج.Stringtimezone— اختياري. سلسلة ثابتة للمنطقة الزمنية.String
DateTime للطابع الزمني عند استدعائه بوسيطة واحدة، أو قيمة String عند استدعائه بوسيطتين أو ثلاث وسيطات. DateTime أو String
أمثلة
تحويل طابع زمني لـ Unix إلى DateTime
Query
Response
Query
Response
fromUnixTimestampInJodaSyntax
Integer، فإنها تُرجع قيمة من النوع DateTime، أي إنها تعمل مثل toDateTime.
عند تمرير وسيطين أو ثلاثة وسائط، بحيث تكون قيمة الوسيط الأول من النوع Integer أو Date أو Date32 أو DateTime أو DateTime64، ويكون الوسيط الثاني سلسلة تنسيق ثابتة، ويكون الوسيط الثالث سلسلة منطقة زمنية ثابتة اختيارية، فإن الدالة تُرجع قيمة من النوع String، أي إنها تعمل مثل formatDateTimeInJodaSyntax. في هذه الحالة، يُستخدم نمط تنسيق التاريخ والوقت في Joda.
البنية
timestamp— طابع زمني بنظام Unix أو قيمة تاريخ/وقت.(U)Int*أوDateأوDate32أوDateTimeأوDateTime64format— اختياري. سلسلة تنسيق ثابتة تستخدم بناء جملة Joda لتنسيق الإخراج.Stringtimezone— اختياري. سلسلة ثابتة للمنطقة الزمنية.String
String عند استدعائه بوسيطتين أو ثلاث وسيطات.} DateTime أو String
أمثلة
تحويل طابع زمني بنظام Unix باستخدام تنسيق Joda
Query
Response
localtime
LOCALTIME القياسية في SQL / PostgreSQL، وتكافئ CAST(now() AS Time).
البنية
- لا يوجد.
Time
أمثلة
صيغة SQL القياسية من دون أقواس
Query
Response
makeDate
Date من أحد الخيارين التاليين:
- سنة وشهر ويوم
- سنة ورقم اليوم في السنة
year— رقم السنة.(U)Int*أوFloat*أوDecimalmonth— رقم الشهر (1-12).(U)Int*أوFloat*أوDecimalday— رقم اليوم في الشهر (1-31).(U)Int*أوFloat*أوDecimalday_of_year— رقم اليوم في السنة (1-365).(U)Int*أوFloat*أوDecimal
Date مُنشأة من الوسيطات المقدَّمة Date
أمثلة
إنشاء Date من سنة وشهر ويوم
Query
Response
Query
Response
makeDate32
Date32 من أحد الخيارين التاليين:
- سنة وشهر ويوم
- سنة ويوم من أيام السنة
year— رقم السنة.(U)Int*أوFloat*أوDecimalmonth— رقم الشهر (1-12).(U)Int*أوFloat*أوDecimalday— رقم اليوم في الشهر (1-31).(U)Int*أوFloat*أوDecimalday_of_year— رقم اليوم في السنة (1-365).(U)Int*أوFloat*أوDecimal
Date32 مُنشأة من الوسائط المقدَّمة Date32
أمثلة
Date32 من سنة وشهر ويوم
Query
Response
Query
Response
makeDateTime
DateTime من السنة والشهر واليوم والساعة والدقيقة والثانية، مع timezone اختياري.
الصيغة
year— رقم السنة.(U)Int*أوFloat*أوDecimalmonth— رقم الشهر (1-12).(U)Int*أوFloat*أوDecimalday— يوم من الشهر (1-31).(U)Int*أوFloat*أوDecimalhour— الساعة (0-23).(U)Int*أوFloat*أوDecimalminute— الدقيقة (0-59).(U)Int*أوFloat*أوDecimalsecond— الثانية (0-59).(U)Int*أوFloat*أوDecimaltimezone— اسم المنطقة الزمنية.String
DateTime مُنشأة من الوسيطات المقدَّمة DateTime
أمثلة
DateTime من السنة والشهر واليوم والساعة والدقيقة والثانية
Query
Response
makeDateTime64
DateTime64 من السنة والشهر واليوم والساعة والدقيقة والثانية، مع جزء كسري اختياري، ودقة، ومنطقة زمنية.
البنية
year— رقم السنة.(U)Int*أوFloat*أوDecimalmonth— رقم الشهر (1-12).(U)Int*أوFloat*أوDecimalday— يوم الشهر (1-31).(U)Int*أوFloat*أوDecimalhour— الساعة (0-23).(U)Int*أوFloat*أوDecimalminute— الدقيقة (0-59).(U)Int*أوFloat*أوDecimalsecond— الثانية (0-59).(U)Int*أوFloat*أوDecimalfraction— الجزء الكسري من الثانية.(U)Int*أوFloat*أوDecimalprecision— دقة الجزء الكسري (0-9).UInt8timezone— اسم المنطقة الزمنية.String
DateTime64 مُنشأة من الوسائط المُعطاة DateTime64
أمثلة
DateTime64 من السنة والشهر واليوم والساعة والدقيقة والثانية
Query
Response
monthName
datetime— تاريخ أو تاريخ يتضمن وقتًا.DateأوDate32أوDateTimeأوDateTime64
String
أمثلة
الحصول على اسم الشهر من التاريخ
Query
Response
now
localtimestamp, current_timestamp
الوسائط
timezone— اختياري. اسم المنطقة الزمنية للقيمة المُعادة.String
DateTime
أمثلة
استعلام بدون منطقة زمنية
Query
Response
Query
Response
Query
Response
now64
scale— اختياري. حجم الخطوة (الدقة):10^-precisionثانية. النطاق الصالح: [0 : 9]. تُستخدم عادةً القيم 3 (افتراضي) (مللي ثانية)، و6 (ميكروثانية)، و9 (نانوثانية).UInt8timezone— اختياري. اسم المنطقة الزمنية للقيمة المُعادة.String
DateTime64
أمثلة
استعلام بدقة افتراضية ومخصّصة
Query
Response
nowInBlock
now، فهي ليست تعبيرًا ثابتًا، وستختلف القيمة المعادة من كتلة إلى أخرى في الاستعلامات طويلة التشغيل.
من المنطقي استخدام هذه الدالة لتوليد الوقت الحالي في استعلامات INSERT SELECT طويلة التشغيل.
البنية
timezone— اختياري. اسم المنطقة الزمنية للقيمة المعادة.String
DateTime
أمثلة
الفرق عن الدالة now()
Query
Response
nowInBlock64
INSERT SELECT طويلة التشغيل.
الصياغة
scale— اختياري. حجم الـ tick (الدقة): 10^-precision ثانية. النطاق الصالح: [0 : 9]. تُستخدم عادةً القيم: 3 (افتراضيًا) (ميلي ثانية)، 6 (ميكروثانية)، 9 (نانوثانية).UInt8timezone— اختياري. اسم المنطقة الزمنية للقيمة المعادة.String
DateTime64
أمثلة
الفرق مع الدالة now64()
Query
Response
serverTimezone
timezone.
إذا نُفِّذت الدالة في سياق جدول موزّع، فإنها تُنشئ عمودًا عاديًا بقيم تخص كل shard. وإلا، فإنها تُنتج قيمة ثابتة.
الصيغة
serverTimeZone
الوسائط
- لا شيء.
String
أمثلة
مثال على الاستخدام
Query
Response
subDate
datetime— التاريخ أو التاريخ والوقت الذي يُطرَح منهinterval.DateأوDate32أوDateTimeأوDateTime64interval— الفاصل الزمني المراد طرحه.Interval
interval من datetime. Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح فاصل زمني من تاريخ
Query
Response
subtractDays
datetime— تاريخ أو تاريخ يتضمن وقتًا، يُطرح منه العدد المحدد من الأيام.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأيام المطلوب طرحها.(U)Int*أوFloat*
datetime بعد طرح num يومًا منه. Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح الأيام من أنواع التاريخ المختلفة
Query
Response
Query
Response
subtractHours
datetime—Dateأو تاريخ أو تاريخ مع وقت يُطرح منه العدد المحدد من الساعات.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الساعات المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num ساعة منه DateTime أو DateTime64(3)
أمثلة
طرح الساعات من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractInterval
toIntervalDay(2) و toIntervalDay(1)
فستكون النتيجة (1) بدلًا من (2,1).
الصياغة
interval_1— الفاصل الزمني الأول أو Tuple من الفواصل الزمنية.IntervalأوTuple(Interval)interval_2— الفاصل الزمني الثاني المراد عكس إشارته.Interval
Tuple(T)
أمثلة
طرح الفواصل الزمنية
Query
Response
subtractMicroseconds
datetime— قيمة تاريخ ووقت يُطرح منها العدد المحدد من الميكروثواني.DateTimeأوDateTime64أوStringnum— عدد الميكروثواني المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num ميكروثانية منه DateTime64
أمثلة
طرح الميكروثواني من أنواع مختلفة من قيم التاريخ والوقت
Query
Response
Query
Response
subtractMilliseconds
datetime— قيمة تاريخ ووقت يُطرح منها العدد المحدد من المللي ثانية.DateTimeأوDateTime64أوStringnum— عدد المللي ثوانٍ المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num مللي ثانية منه DateTime64
أمثلة
طرح المللي ثانية من أنواع مختلفة من التاريخ والوقت
Query
Response
Query
Response
subtractMinutes
datetime— تاريخ أو تاريخ ووقت يُطرح منهما العدد المحدد من الدقائق.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الدقائق المطلوب طرحه.(U)Int*أوFloat*
datetime بعد طرح num دقيقة منه من النوع DateTime أو DateTime64(3)
أمثلة
طرح الدقائق من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractMonths
datetime— تاريخ أو تاريخ مع وقت يُطرح منه عدد الأشهر المحدد.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأشهر المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num شهرًا منه Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح الأشهر من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractNanoseconds
datetime— تاريخ ووقت يُطرح منه عدد محدد من النانوثواني.DateTimeأوDateTime64أوStringnum— عدد النانوثواني المطلوب طرحه.(U)Int*أوFloat*
datetime بعد طرح num نانوثانية منها، من النوع DateTime64
أمثلة
طرح النانوثواني من أنواع التاريخ والوقت المختلفة
Query
Response
Query
Response
subtractQuarters
datetime— تاريخ أو تاريخ مع وقت يُطرح منه العدد المحدد من أرباع السنة.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد أرباع السنة المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num من أرباع السنة. Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح أرباع السنة من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractSeconds
datetime— تاريخ أو تاريخ مع وقت يُطرح منه العدد المحدد من الثواني.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الثواني المطلوب طرحها.(U)Int*أوFloat*
datetime بعد طرح num ثانية منه DateTime أو DateTime64(3)
أمثلة
طرح الثواني من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractTupleOfIntervals
datetime— تاريخ أو تاريخ ووقت تُطرح منه الفواصل الزمنية.DateأوDate32أوDateTimeأوDateTime64intervals— Tuple من الفواصل الزمنية تُطرح منdatetime.Tuple(Interval)
date بعد طرح intervals منه Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح Tuple من الفواصل الزمنية من التاريخ
Query
Response
subtractWeeks
datetime—Dateأو تاريخ مع وقت يُطرح منه العدد المحدد من الأسابيع.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأسابيع المطلوب طرحه.(U)Int*أوFloat*
datetime بعد طرح num أسبوعًا منه Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح أسابيع من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractYears
datetime— تاريخ أو تاريخ مع وقت يُطرح منه عدد السنوات المحدد.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد السنوات المطلوب طرحه.(U)Int*أوFloat*
datetime بعد طرح num سنة منه. Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح السنوات من أنواع تاريخ مختلفة
Query
Response
Query
Response
timeDiff
enddate - startdate.
هذه الدالة مكافئة لـ dateDiff('second', startdate, enddate).
لحساب الفروق الزمنية بوحدات أخرى (مثل الساعات والأيام والأشهر وما إلى ذلك)، استخدم الدالة dateDiff بدلًا من ذلك.
البنية
startdate— أول قيمة زمنية تُطرَح (المطروح).DateأوDate32أوDateTimeأوDateTime64enddate— ثاني قيمة زمنية يُطرَح منها (المطروح منه).DateأوDate32أوDateTimeأوDateTime64
enddate وstartdate معبَّرًا عنه بالثواني. Int64
أمثلة
حساب الفرق الزمني بالثواني
Query
Response
Query
Response
Query
Response
timeSlot
على الرغم من أن هذه الدالة يمكن أن تأخذ قيماً من النوعين الموسّعين
Date32 وDateTime64 كوسيط،
فإن تمرير قيمة وقت تقع خارج النطاق المعتاد إليها (من عام 1970 إلى 2149 بالنسبة إلى Date / وحتى 2106 بالنسبة إلى DateTime) سيؤدي إلى نتائج غير صحيحة.time— الوقت المطلوب تقريبه إلى بداية فاصل زمني مدته نصف ساعة.DateTimeأوDate32أوDateTime64time_zone— اختياري. قيمة ثابتة من نوع String أو تعبير يمثّل المنطقة الزمنية.String
DateTime
أمثلة
تقريب الوقت إلى فاصل زمني مدته نصف ساعة
Query
Response
timeSlots
StartTime وتستمر لمدة Duration ثانية، تُرجِع الدالة مصفوفة من اللحظات الزمنية تتكوّن من نقاط ضمن هذه الفترة بعد تقريبها نزولًا إلى Size بالثواني. Size وسيط اختياري مضبوط افتراضيًا على 1800 (30 دقيقة).
وهذا ضروري، على سبيل المثال، عند البحث عن مرات عرض الصفحة في الجلسة المقابلة.
بالنسبة إلى DateTime64، قد يختلف المقياس الخاص بالقيمة المُعادة عن مقياس StartTime. ويُؤخذ أعلى مقياس من بين جميع الوسيطات المُعطاة.
البنية
StartTime— وقت بدء الفاصل الزمني.DateTimeأوDateTime64Duration— مدة الفاصل الزمني بالثواني.UInt32أوDateTime64Size— اختياري. حجم الفترات الزمنية بالثواني. القيمة الافتراضية هي 1800 (30 دقيقة).UInt32أوDateTime64
StartTime). بالنسبة إلى DateTime64، قد يختلف مقياس القيمة المُعادة عن مقياس StartTime — إذ يُعتمد أعلى مقياس بين جميع الوسيطات المُعطاة. Array(DateTime) أو Array(DateTime64)
أمثلة
إنشاء فترات زمنية لفاصل زمني
Query
Response
timestamp
expr إلى النوع DateTime64(6).
إذا تم توفير وسيط ثانٍ expr_time، فإنه يضيف الوقت المحدد إلى القيمة بعد تحويلها.
البنية
expr— تاريخ أو تاريخ متضمّن للوقت.Stringexpr_time— اختياري. الوقت المراد إضافته إلى القيمة المُحوَّلة.String
expr، أو expr بعد إضافة وقت إليه DateTime64(6)
أمثلة
تحويل سلسلة تاريخ إلى DateTime64(6)
Query
Response
Query
Response
timezone
timeZone
الوسائط
- لا توجد.
String
أمثلة
مثال على الاستخدام
Query
Response
timezoneOf
DateTime أو DateTime64.
الصياغة
timeZoneOf
الوسائط
datetime— قيمة من النوعDateTimeأوDateTime64timezone— اختياري. اسم المنطقة الزمنية المطلوب تحويل قيمةdatetimeإليها.String
datetime من النوع String
أمثلة
مثال للاستخدام
Query
Response
timezoneOffset
timeZoneOffset
الوسائط
datetime— قيمةDateTimeالمطلوب الحصول على إزاحة المنطقة الزمنية الخاصة بها.DateTimeأوDateTime64
Int32
أمثلة
مثال على الاستخدام
Query
Response
toDayOfMonth
Date أو DateTime.
البنية
DAY, DAYOFMONTH
الوسائط
datetime— قيمة من نوع Date أو تاريخ مع وقت لاستخراج يوم الشهر منها.DateأوDate32أوDateTimeأوDateTime64
UInt8
أمثلة
مثال على الاستخدام
Query
Response
toDayOfWeek
Date أو DateTime.
تتيح لك الصيغة ذات الوسيطتين للدالة toDayOfWeek() تحديد ما إذا كان الأسبوع يبدأ يوم الاثنين أو يوم الأحد،
وما إذا كانت القيمة المعادة يجب أن تكون ضمن النطاق من 0 إلى 6 أو من 1 إلى 7.
| الوضع | أول يوم في الأسبوع | النطاق |
|---|---|---|
| 0 | الاثنين | 1-7: الاثنين = 1، الثلاثاء = 2، …، الأحد = 7 |
| 1 | الاثنين | 0-6: الاثنين = 0، الثلاثاء = 1، …، الأحد = 6 |
| 2 | الأحد | 0-6: الأحد = 0، الاثنين = 1، …، السبت = 6 |
| 3 | الأحد | 1-7: الأحد = 1، الاثنين = 2، …، السبت = 7 |
DAYOFWEEK
الوسيطات
datetime— تاريخ أو تاريخ مع وقت لاستخراج يوم الأسبوع منه.DateأوDate32أوDateTimeأوDateTime64mode— اختياري. عدد صحيح يحدد وضع الأسبوع (0-3). تكون القيمة الافتراضية 0 إذا لم يتم تحديده.UInt8timezone— اختياري. المنطقة الزمنية المستخدمة في التحويل.String
Date أو DateTime المحددة. UInt8
أمثلة
مثال على الاستخدام
Query
Response
toDayOfYear
Date أو DateTime.
الصياغة
DAYOFYEAR
الوسيطات
datetime— تاريخ أو تاريخ مع وقت لاستخراج يوم السنة منه.DateأوDate32أوDateTimeأوDateTime64
Date أو DateTime المُعطاة UInt16
أمثلة
مثال على الاستخدام
Query
Response
toDaysInMonth
Date أو DateTime.
تكون القيمة المُعادة ضمن النطاق من 28 إلى 31.
البنية
datetime— تاريخ أو تاريخ مع وقت يُستخرج منه عدد أيام الشهر.DateأوDate32أوDateTimeأوDateTime64
UInt8
أمثلة
مثال على الاستخدام
Query
Response
toDaysSinceYearZero
TO_DAYS في MySQL.
البنية
TO_DAYS
الوسيطات
date— التاريخ أو التاريخ والوقت المراد حساب عدد الأيام منذ السنة صفر له.DateأوDate32أوDateTimeأوDateTime64time_zone— المنطقة الزمنية.String
0000-01-01. UInt32
أمثلة
احسب الأيام منذ السنة صفر
Query
Response
toHour
DateTime أو DateTime64.
البنية
HOUR
الوسائط
datetime— تاريخ ووقت لاستخراج الساعة منه.DateTimeأوDateTime64
datetime. UInt8
أمثلة
مثال للاستخدام
Query
Response
toISOWeek
toWeek(date, 3).
تبدأ أسابيع ISO يوم الاثنين، ويشمل الأسبوع الأول من السنة يوم 4 يناير.
وفقًا للمعيار ISO 8601، تتراوح أرقام الأسابيع من 1 إلى 53.
لاحظ أن التواريخ القريبة من بداية السنة أو نهايتها قد تُرجع رقم أسبوع من السنة السابقة أو التالية. على سبيل المثال،
يعيد 29 ديسمبر 2025 الأسبوع 1 لأنه يقع ضمن أول أسبوع يشمل 4 يناير 2026.
الصيغة
datetime— تاريخ أو تاريخ مع وقت لاستخراج رقم أسبوع ISO منه.DateأوDateTimeأوDate32أوDateTime64timezone— اختياري. المنطقة الزمنية.String
UInt8
أمثلة
الحصول على أرقام أسابيع ISO
Query
Response
Query
Response
toISOYear
datetime— قيمة من نوع تاريخ أو تاريخ مع وقت.DateأوDate32أوDateTimeأوDateTime64
UInt16
أمثلة
استخراج سنة ISO من قيم التاريخ
Query
Response
toLastDayOfMonth
يمكن تهيئة نوع الإرجاع من خلال الإعداد
enable_extended_results_for_datetime_functions.LAST_DAY
الوسائط
value— التاريخ أو التاريخ مع الوقت المطلوب تقريبه للأعلى إلى آخر يوم من الشهر.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب للأعلى إلى آخر يوم من الشهر
Query
Response
toLastDayOfWeek
يمكن تهيئة نوع الإرجاع عبر ضبط
enable_extended_results_for_datetime_functions.datetime— تاريخ أو تاريخ ووقت لتحويله.DateأوDateTimeأوDate32أوDateTime64mode— يحدد أول يوم في الأسبوع كما هو موضح في الدالةtoWeek(). القيمة الافتراضية0.UInt8timezone— اختياري. المنطقة الزمنية المستخدمة في التحويل. إذا لم يتم تحديدها، تُستخدم المنطقة الزمنية الخاصة بالخادم.String
Date أو Date32
أمثلة
التقريب للأعلى إلى أقرب يوم سبت أو أحد
Query
Response
toMicrosecond
DateTime64.
الصياغة
MICROSECOND
الوسيطات
datetime— تاريخ ووقت لاستخراج الميكروثانية منه.DateTime64
datetime. UInt32
أمثلة
مثال على الاستخدام
Query
Response
toMillisecond
DateTime أو DateTime64.
البنية
MILLISECOND
الوسيطات
datetime— تاريخ ووقت يُستخرج منه جزء الملّي ثانية.DateTimeأوDateTime64
datetime. UInt16
أمثلة
مثال على الاستخدام
Query
Response
toMinute
Date أو DateTime.
البنية
MINUTE
الوسائط
datetime— قيمة تاريخ ووقت لاستخراج الدقيقة منها.DateTimeأوDateTime64
datetime. UInt8
أمثلة
مثال على الاستخدام
Query
Response
toModifiedJulianDay
YYYY-MM-DD وفق التقويم الغريغوري الاستباقي إلى رقم اليوم اليولياني المعدّل من النوع Int32. تدعم هذه الدالة التواريخ من 0000-01-01 إلى 9999-12-31. وتُثير استثناءً إذا تعذّر تحليل الوسيطة كتاريخ، أو كان التاريخ غير صالح.
الصياغة
date— التاريخ على هيئة String.StringأوFixedString
Int32
أمثلة
تحويل التاريخ إلى رقم اليوم اليولياني المعدّل
Query
Response
toModifiedJulianDayOrNull
toModifiedJulianDay()، ولكن بدلًا من إطلاق استثناءات، تُرجع NULL.
البنية
date— تاريخ بصيغة نصية.StringأوFixedString
date صالحة، وإلا تُعيد null. Nullable(Int32)
أمثلة
تحويل التاريخ إلى رقم اليوم اليولياني المعدّل مع معالجة null
Query
Response
toMonday
يمكن تهيئة نوع الإرجاع عبر تعيين
enable_extended_results_for_datetime_functions.value— تاريخ أو تاريخ متضمّن لوقت، لتقريبه إلى يوم الاثنين من ذلك الأسبوع.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب إلى يوم الاثنين من الأسبوع
Query
Response
toMonth
Date أو DateTime.
الصيغة
MONTH
الوسائط
datetime— تاريخ أو تاريخ مع وقت لاستخراج الشهر منه.DateأوDate32أوDateTimeأوDateTime64
UInt8
أمثلة
مثال على الاستخدام
Query
Response
toMonthNumSinceEpoch
date— تاريخ أو تاريخ ووقت.DateأوDateTimeأوDateTime64
Query
Response
toNanosecond
DateTime64.
الصياغة
NANOSECOND
الوسيطات
datetime— قيمة تاريخ ووقت يُستخرج منها جزء النانوثانية.DateTime64
datetime. UInt32
أمثلة
مثال على الاستخدام
Query
Response
toQuarter
Date أو DateTime معيّنة.
الصياغة
QUARTER
الوسيطات
datetime— تاريخ أو تاريخ مع وقت لاستخراج ربع السنة منه.DateأوDate32أوDateTimeأوDateTime64
UInt8
أمثلة
مثال على الاستخدام
Query
Response
toRelativeDayNum
toRelativeDayNum(dt1) - toRelativeDayNum(dt2).
البنية
date— تاريخ أو تاريخ ووقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الأيام النسبية
Query
Response
toRelativeHourNum
toRelativeHourNum(dt1) - toRelativeHourNum(dt2).
البنية
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
استخراج أرقام الساعات النسبية
Query
Response
toRelativeMinuteNum
toRelativeMinuteNum(dt1) - toRelativeMinuteNum(dt2).
الصيغة
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الدقائق النسبية
Query
Response
toRelativeMonthNum
toRelativeMonthNum(dt1) - toRelativeMonthNum(dt2).
الصياغة
date— تاريخ أو تاريخ ووقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الأشهر النسبية
Query
Response
toRelativeQuarterNum
toRelativeQuarterNum(dt1) - toRelativeQuarterNum(dt2).
الصيغة
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام أرباع السنة النسبية
Query
Response
toRelativeSecondNum
toRelativeSecondNum(dt1) - toRelativeSecondNum(dt2).
الصياغة
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الثواني النسبية
Query
Response
toRelativeWeekNum
toRelativeWeekNum(dt1) - toRelativeWeekNum(dt2).
البنية
date— تاريخ أو تاريخ ووقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الأسابيع النسبية
Query
Response
toRelativeYearNum
toRelativeYearNum(dt1) - toRelativeYearNum(dt2).
البنية
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt16
أمثلة
الحصول على أرقام السنوات النسبية
Query
Response
toSecond
DateTime أو DateTime64.
البنية
SECOND
الوسائط
datetime— تاريخ ووقت لاستخراج الثواني منه.DateTimeأوDateTime64
datetime. UInt8
أمثلة
مثال على الاستخدام
Query
Response
toStartOfDay
يمكن تهيئة نوع الإرجاع عبر تعيين
enable_extended_results_for_datetime_functions.DateTime أو DateTime64
أمثلة
التقريب نزولًا إلى بداية اليوم
Query
Response
toStartOfFifteenMinutes
يمكن تهيئة نوع الإرجاع عبر تعيين
enable_extended_results_for_datetime_functions.datetime— تاريخ أو تاريخ ووقت مطلوب تقريبه.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
مثال
Query
Response
toStartOfFiveMinutes
يمكن تهيئة نوع الإرجاع من خلال الإعداد
enable_extended_results_for_datetime_functions.toStartOfFiveMinute
الوسيطات
datetime— تاريخ ووقت المطلوب تقريبهما.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
مثال
Query
Response
toStartOfHour
يمكن تهيئة نوع الإرجاع من خلال ضبط
enable_extended_results_for_datetime_functions.datetime— قيمة تاريخية تتضمن وقتًا لتقريبها.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
التقريب نزولًا إلى بداية الساعة
Query
Response
toStartOfISOYear
يمكن تهيئة نوع الإرجاع عن طريق ضبط
enable_extended_results_for_datetime_functions.value— التاريخ أو التاريخ مع وقت المراد تقريبُه نزولًا إلى اليوم الأول من سنة ISO.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب نزولًا إلى اليوم الأول من سنة ISO
Query
Response
toStartOfInterval
toStartOf*() الأخرى باستخدام البنية toStartOfInterval(date_or_date_with_time, INTERVAL x unit [, time_zone]).
على سبيل المثال،
- تُرجع
toStartOfInterval(t, INTERVAL 1 YEAR)النتيجة نفسها التي تُرجعهاtoStartOfYear(t), - تُرجع
toStartOfInterval(t, INTERVAL 1 MONTH)النتيجة نفسها التي تُرجعهاtoStartOfMonth(t), - تُرجع
toStartOfInterval(t, INTERVAL 1 DAY)النتيجة نفسها التي تُرجعهاtoStartOfDay(t), - تُرجع
toStartOfInterval(t, INTERVAL 15 MINUTE)النتيجة نفسها التي تُرجعهاtoStartOfFifteenMinutes(t).
| Interval | Start |
|---|---|
| YEAR | السنة 0 |
| QUARTER | 1900 Q1 |
| MONTH | يناير 1900 |
| WEEK | 1970، الأسبوع الأول (01-05) |
| DAY | 1970-01-01 |
| HOUR | (*) |
| MINUTE | 1970-01-01 00:00:00 |
| SECOND | 1970-01-01 00:00:00 |
| MILLISECOND | 1970-01-01 00:00:00 |
| MICROSECOND | 1970-01-01 00:00:00 |
| NANOSECOND | 1970-01-01 00:00:00 |
| (*) فترات الساعات حالة خاصة: يُجرى الحساب دائمًا بالاستناد إلى 00:00:00 (منتصف الليل) من اليوم الحالي. ونتيجةً لذلك، فإن | |
| قيم الساعات من 1 إلى 23 فقط هي المفيدة. |
WEEK، فإن toStartOfInterval يفترض أن الأسابيع تبدأ يوم الاثنين. لاحظ أن هذا السلوك يختلف عن سلوك الدالة toStartOfWeek، حيث تبدأ الأسابيع افتراضيًا يوم الأحد.
تحاكي صيغة التحميل الزائد الثانية الدالة time_bucket() في TimescaleDB، وكذلك الدالة date_bin() في PostgreSQL.
البنية
time_bucket, date_bin
المعاملات
value— قيمة تاريخ أو تاريخ مع وقت تُقرَّب نزولًا.DateأوDateTimeأوDateTime64x— رقم يمثّل طول الفاصل الزمني. -unit— وحدة الفاصل الزمني: YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND, NANOSECOND. -time_zone— اختياري. اسم المنطقة الزمنية كسلسلة نصية. -origin— اختياري. نقطة بدء الحساب (في التوقيع الثاني فقط).
DateTime
أمثلة
تقريب الفاصل الزمني الأساسي
Query
Response
Query
Response
toStartOfMicrosecond
datetime— التاريخ والوقت.DateTime64timezone— اختياري. المنطقة الزمنية للقيمة المُعادة. إذا لم يتم تحديدها، تستخدم الدالة المنطقة الزمنية للمعاملvalue.String
DateTime64
أمثلة
استعلام من دون منطقة زمنية
Query
Response
Query
Response
toStartOfMillisecond
datetime— التاريخ والوقت.DateTime64timezone— اختياري. المنطقة الزمنية للقيمة المُعادة. إذا لم يتم تحديدها، تستخدم الدالة المنطقة الزمنية للمعلَمةvalue.String
DateTime64
أمثلة
استعلام بدون منطقة زمنية
Query
Response
Query
Response
toStartOfMinute
يمكن تهيئة نوع الإرجاع عن طريق ضبط
enable_extended_results_for_datetime_functions.datetime— تاريخ ووقت يُراد تقريبهما.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
التقريب نزولًا إلى بداية الدقيقة
Query
Response
toStartOfMonth
يمكن تهيئة نوع الإرجاع من خلال إعداد
enable_extended_results_for_datetime_functions.value— التاريخ أو التاريخ والوقت المراد تقريبُه نزولًا إلى اليوم الأول من الشهر.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب نزولًا إلى اليوم الأول من الشهر
Query
Response
toStartOfNanosecond
datetime— التاريخ والوقت.DateTime64timezone— اختياري. المنطقة الزمنية للقيمة المعادة. إذا لم يتم تحديدها، تستخدم الدالة المنطقة الزمنية للمعاملvalue.String
DateTime64
أمثلة
استعلام بدون منطقة زمنية
Query
Response
Query
Response
toStartOfQuarter
يمكن ضبط نوع الإرجاع عن طريق تعيين
enable_extended_results_for_datetime_functions.value— التاريخ أو التاريخ والوقت المراد تقريبه نزولًا إلى اليوم الأول من الربع.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب نزولًا إلى اليوم الأول من الربع
Query
Response
toStartOfSecond
datetime— التاريخ والوقت المراد حذف الأجزاء من الثانية منه.DateTime64timezone— اختياري. المنطقة الزمنية للقيمة المُعادة. إذا لم يتم تحديدها، تستخدم الدالة المنطقة الزمنية الخاصة بالمعاملvalue.String
DateTime64
أمثلة
استعلام بدون منطقة زمنية
Query
Response
Query
Response
toStartOfTenMinutes
يمكن تهيئة نوع القيمة المعادة عن طريق تعيين
enable_extended_results_for_datetime_functions.datetime— تاريخ ووقت.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
مثال
Query
Response
toStartOfWeek
يمكن تهيئة نوع الإرجاع من خلال ضبط
enable_extended_results_for_datetime_functions.datetime— تاريخ أو تاريخ ووقت للتحويل.DateأوDateTimeأوDate32أوDateTime64mode— يحدد أول يوم في الأسبوع كما هو موضح في الدالةtoWeek(). القيمة الافتراضية0.UInt8timezone— المنطقة الزمنية المستخدمة في التحويل. إذا لم يتم تحديدها، فستُستخدم المنطقة الزمنية الخاصة بـ الخادم.String
Date أو Date32
أمثلة
التقريب لأسفل إلى أقرب يوم أحد أو اثنين
Query
Response
toStartOfYear
Date.
يمكن تهيئة نوع الإرجاع عبر ضبط
enable_extended_results_for_datetime_functions.value— التاريخ أو التاريخ مع الوقت المراد تقريبه لأسفل.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب لأسفل إلى أول يوم من السنة
Query
Response
toTimeWithFixedDate
1970-01-02،
لكن النقطة الزمنية الدقيقة هي تفصيل تنفيذي قد يتغير مستقبلًا.
لذلك، لا ينبغي استخدام toTime بشكل مستقل.
الغرض الرئيسي من هذه الدالة هو حساب فرق الوقت بين تاريخين أو قيمتين من نوع تاريخ ووقت، مثل: toTime(dt1) - toTime(dt2).
البنية
date— التاريخ المراد تحويله إلى وقت.DateأوDateTimeأوDateTime64timezone— اختياري. المنطقة الزمنية للقيمة المُعادة.String
DateTime
أمثلة
احسب الفرق الزمني بين تاريخين
Query
Response
toTimezone
DateTime أو DateTime64 إلى المنطقة الزمنية المحددة.
لا تتغير القيمة الداخلية للبيانات (عدد ثواني Unix).
يتغير فقط سِمة المنطقة الزمنية للقيمة وتمثيلها النصي.
البنية
toTimeZone
المعاملات
date— القيمة المراد تحويلها.DateTimeأوDateTime64timezone— اسم المنطقة الزمنية المستهدفة.String
DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
toUTCTimestamp
to_utc_timestamp
المعاملات
datetime— قيمة ثابتة من نوع تاريخ أو تاريخ ووقت، أو تعبير.DateTimeأوDateTime64time_zone— قيمة ثابتة من نوع String أو تعبير يمثّل المنطقة الزمنية.String
DateTime أو DateTime64
أمثلة
تحويل المنطقة الزمنية إلى UTC
Query
Response
toUnixTimestamp
String أو Date أو DateTime إلى طابع زمني Unix (عدد الثواني منذ 1970-01-01 00:00:00 UTC) بصيغة UInt32.
الصياغة
date— القيمة المراد تحويلها.DateأوDate32أوDateTimeأوDateTime64أوStringtimezone— اختياري. المنطقة الزمنية المستخدمة للتحويل. إذا لم يتم تحديدها، تُستخدم المنطقة الزمنية للخادم.String
UInt32
أمثلة
مثال على الاستخدام
Query
Response
toWeek
toWeek() تحديد ما إذا كان الأسبوع يبدأ
يوم الأحد أو يوم الاثنين، وما إذا كانت القيمة المُعادة يجب أن تكون ضمن النطاق من 0 إلى 53 أو من 1 إلى 53.
تُعد toISOWeek() دالة توافقية مكافئة لـ toWeek(date,3).
يوضح الجدول التالي كيفية عمل وسيطة mode.
| Mode | اليوم الأول من الأسبوع | النطاق | الأسبوع 1 هو أول أسبوع … |
|---|---|---|---|
| 0 | الأحد | 0-53 | يحتوي على يوم أحد في هذه السنة |
| 1 | الاثنين | 0-53 | يحتوي على 4 أيام أو أكثر في هذه السنة |
| 2 | الأحد | 1-53 | يحتوي على يوم أحد في هذه السنة |
| 3 | الاثنين | 1-53 | يحتوي على 4 أيام أو أكثر في هذه السنة |
| 4 | الأحد | 0-53 | يحتوي على 4 أيام أو أكثر في هذه السنة |
| 5 | الاثنين | 0-53 | يحتوي على يوم اثنين في هذه السنة |
| 6 | الأحد | 1-53 | يحتوي على 4 أيام أو أكثر في هذه السنة |
| 7 | الاثنين | 1-53 | يحتوي على يوم اثنين في هذه السنة |
| 8 | الأحد | 1-53 | يتضمن 1 يناير |
| 9 | الاثنين | 1-53 | يتضمن 1 يناير |
- إذا كان الأسبوع الذي يتضمن 1 يناير يحتوي على 4 أيام أو أكثر في السنة الجديدة، فهو الأسبوع 1.
- وإلا، فهو الأسبوع الأخير من السنة السابقة، ويكون الأسبوع التالي هو الأسبوع 1.
String بتنسيق تدعمه parseDateTime64BestEffort(). يوجد دعم لوسائط السلاسل النصية فقط لأسباب تتعلق بالتوافق مع MySQL، كما تتطلبه بعض أدوات الجهات الخارجية. ونظرًا إلى أن دعم وسائط السلاسل النصية قد يصبح في المستقبل معتمدًا على إعدادات جديدة للتوافق مع MySQL، ولأن تحليل السلاسل النصية بطيء عمومًا، يُوصى بعدم استخدامه.
الصياغة
week
الوسيطات
datetime— Dateأو تاريخ مع وقت لاستخراج رقم الأسبوع منه.DateأوDateTimemode— اختياري. يحدد النمط من0إلى9اليوم الأول من الأسبوع ونطاق رقم الأسبوع. القيمة الافتراضية هي0. -time_zone— اختياري. المنطقة الزمنية.String
UInt32
أمثلة
الحصول على أرقام الأسابيع باستخدام أنماط مختلفة
Query
Response
toYYYYMM
UInt32 يحتوي على السنة ورقم الشهر (YYYY * 100 + MM).
وتقبل وسيطة ثانية اختيارية للمنطقة الزمنية. وإذا قُدِّمت، فيجب أن تكون قيمة المنطقة الزمنية ثابتًا نصيًا.
هذه الدالة هي عكس الدالة YYYYMMDDToDate().
الصيغة
datetime— تاريخ أو تاريخ يتضمن وقتًا لتحويله.DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. المنطقة الزمنية للتحويل. إذا جرى توفيرها، فيجب أن تكون المنطقة الزمنية ثابتًا نصيًا.String
UInt32
أمثلة
تحويل التاريخ الحالي إلى تنسيق YYYYMM
Query
Response
toYYYYMMDD
UInt32 يحتوي على السنة والشهر واليوم (YYYY * 10000 + MM * 100 + DD). ويقبل وسيطة ثانية اختيارية هي timezone. وإذا تم توفيرها، فيجب أن تكون timezone قيمة string constant.
البنية
datetime— تاريخ أو تاريخ ووقت للتحويل.DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. المنطقة الزمنية المستخدمة في التحويل. إذا تم تحديدها، فيجب أن تكون المنطقة الزمنية ثابتًا نصيًا.String
UInt32 تحتوي على السنة والشهر واليوم (YYYY * 10000 + MM * 100 + DD). UInt32
أمثلة
حوّل التاريخ الحالي إلى تنسيق YYYYMMDD
Query
Response
toYYYYMMDDhhmmss
UInt64 يحتوي على السنة ورقم الشهر (YYYY * 10000000000 + MM * 100000000 + DD * 1000000 + hh * 10000 + mm * 100 + ss).
تقبل وسيطًا اختياريًا ثانيًا للمنطقة الزمنية. وإذا تم توفيره، فيجب أن تكون المنطقة الزمنية ثابتًا نصيًا.
البنية
datetime—Dateأو تاريخ أو تاريخ مع وقت للتحويل.DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. المنطقة الزمنية للتحويل. إذا تم توفيرها، فيجب أن تكون المنطقة الزمنية ثابتًا نصيًا.String
UInt64 يحتوي على السنة والشهر واليوم والساعة والدقيقة والثانية (YYYY * 10000000000 + MM * 100000000 + DD * 1000000 + hh * 10000 + mm * 100 + ss). UInt64
أمثلة
حوّل التاريخ والوقت الحاليين إلى تنسيق YYYYMMDDhhmmss
Query
Response
toYear
Date أو DateTime.
البنية
YEAR
الوسيطات
datetime— تاريخ أو تاريخ مع وقت لاستخراج السنة منه.DateأوDate32أوDateTimeأوDateTime64
Date أو DateTime المُعطاة UInt16
أمثلة
مثال على الاستخدام
Query
Response
toYearNumSinceEpoch
date— تاريخ أو تاريخ ووقت لتحويله.DateأوDateTimeأوDateTime64
Query
Response
toYearWeek
toWeek().
تحذير: قد يختلف رقم الأسبوع الذي تُعيده toYearWeek() عن الرقم الذي تُعيده toWeek(). إذ تُعيد toWeek() دائمًا رقم الأسبوع ضمن سياق السنة المحددة، وإذا أعادت toWeek() القيمة 0، فإن toYearWeek() تُعيد القيمة المقابلة لآخر أسبوع من السنة السابقة. راجع prev_yearWeek في المثال أدناه.
يمكن أيضًا تحديد الوسيطة الأولى على أنها String بتنسيق تدعمه parseDateTime64BestEffort(). ولا يوجد دعم لوسيطات السلاسل النصية إلا لأسباب تتعلق بالتوافق مع MySQL، كما تتطلبه بعض الأدوات الخارجية. ونظرًا إلى أن دعم وسائط السلاسل النصية قد يصبح في المستقبل معتمدًا على إعدادات جديدة للتوافق مع MySQL، ولأن تحليل السلاسل النصية بطيء عمومًا، يُوصى بعدم استخدامها.
الصياغة
yearweek
الوسائط
datetime— التاريخ أو التاريخ مع الوقت المراد استخراج السنة ورقم الأسبوع منه.DateأوDateTimemode— اختياري. يحدد النمط من0إلى9اليوم الأول من الأسبوع ونطاق رقم الأسبوع. القيمة الافتراضية0. -timezone— اختياري. المنطقة الزمنية.String
UInt32
أمثلة
الحصول على تركيبات السنة-الأسبوع باستخدام أنماط مختلفة
Query
Response
today
toDate(now()).
الصياغة
curdate, current_date
المعاملات
- لا توجد.
Date
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
yesterday
- لا شيء.
Date
أمثلة
الحصول على تاريخ الأمس
Query
Response