Europe/Amsterdam. وفي هذه الحالة، تكون المنطقة الزمنية المستخدمة هي المنطقة المحددة بدلًا من المنطقة الزمنية المحلية (الافتراضية).
مثال
لتحقيق التوافق مع معيار SQL، يمكن استخدام الدوال التالية دون أقواس:
NOW وCURRENT_TIMESTAMP وLOCALTIME وLOCALTIMESTAMP وTODAY وCURRENT_DATE.UTCTimestamp
أُضيف في: v22.11.0 يعيد التاريخ والوقت الحاليَّين في لحظة تحليل الاستعلام. وهذه الدالة عبارة عن تعبير ثابت. تعطي هذه الدالة النتيجة نفسها التي تعطيهاnow('UTC'). وقد أُضيفت فقط لدعم MySQL. ويُعد now الخيار المفضّل.
هذه الدالة غير حتمية: يمكن أن تُرجع نتائج مختلفة للمعاملات نفسها.
UTC_timestamp
الوسائط
- لا يوجد.
DateTime
أمثلة
الحصول على الطابع الزمني الحالي بتوقيت UTC
Query
Response
YYYYMMDDToDate
أُضيف في: v23.9.0 يحوّل رقمًا يتضمن السنة والشهر واليوم إلىDate.
هذه الدالة هي عكس الدالة toYYYYMMDD().
تكون النتيجة غير معرّفة إذا كان الإدخال لا يمثّل قيمة Date صالحة.
البنية
Date من الوسائط المقدَّمة Date
أمثلة
مثال
Query
Response
YYYYMMDDToDate32
أُضيف في: v23.9.0 يحوِّل رقمًا يتضمن السنة والشهر واليوم إلىDate32.
هذه الدالة هي عكس الدالة toYYYYMMDD().
يكون الناتج غير معرّف إذا لم يُشفِّر الإدخال قيمة Date32 صالحة.
الصيغة
Date32 من الوسائط المُدخلة Date32
أمثلة
مثال
Query
Response
YYYYMMDDhhmmssToDateTime
أُضيفت في: v23.9.0 تحوّل رقمًا يحتوي على السنة والشهر واليوم والساعة والدقيقة والثانية إلىDateTime.
هذه الدالة هي عكس الدالة toYYYYMMDDhhmmss().
يكون الناتج غير معرّف إذا كان الإدخال لا يمثّل قيمة DateTime صالحة.
البنية
YYYYMMDDhhmmss— رقم يحتوي على السنة والشهر واليوم والساعة والدقيقة والثانية.(U)Int*أوFloat*أوDecimaltimezone— اسم المنطقة الزمنية.String
DateTime من الوسائط المحددة DateTime
أمثلة
مثال
Query
Response
YYYYMMDDhhmmssToDateTime64
أُضيفت في: v23.9.0 تحوّل رقمًا يحتوي على السنة والشهر واليوم والساعة والدقيقة والثانية إلىDateTime64.
هذه الدالة هي عكس الدالة toYYYYMMDDhhmmss().
يكون الناتج غير معرّف إذا كان الإدخال لا يرمّز قيمة DateTime64 صالحة.
الصيغة
YYYYMMDDhhmmss— رقم يحتوي على السنة والشهر واليوم والساعة والدقيقة والثانية.(U)Int*أوFloat*أوDecimalprecision— دقة الجزء الكسري (0-9).UInt8timezone— اسم المنطقة الزمنية.String
DateTime64 من المعاملات المحددة DateTime64
أمثلة
مثال
Query
Response
addDate
أُضيف في: v23.9.0 يضيف الفاصل الزمني إلى التاريخ المُقدَّم، أو التاريخ مع الوقت، أو التاريخ أو التاريخ مع الوقت المُمثَّل كسلسلة نصية. إذا أسفرت الإضافة عن قيمة تقع خارج حدود نوع البيانات، فستكون النتيجة غير معرّفة. الصيغةdatetime— التاريخ أو التاريخ مع الوقت الذي يُضاف إليهinterval.DateأوDate32أوDateTimeأوDateTime64أوStringinterval— الفترة الزمنية المراد إضافتها.Interval
interval إلى datetime. Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة فترة زمنية إلى تاريخ
Query
Response
addDays
أُضيفت في: v1.1.0 تضيف عددًا محددًا من الأيام إلى تاريخ، أو تاريخ ووقت، أو تاريخ مُرمَّز كسلسلة نصية، أو تاريخ ووقت مُرمَّز كسلسلة نصية. البنيةdatetime— تاريخ أو تاريخ مع وقت يُراد إضافة العدد المحدد من الأيام إليه.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأيام المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num يومًا إليه. Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة أيام إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
addHours
أُضيف في: v1.1.0 يضيف عددًا محددًا من الساعات إلى تاريخ، أو تاريخ ووقت، أو تاريخ مُرمَّز كسلسلة نصية، أو تاريخ ووقت مُرمَّزَين كسلسلة نصية. الصيغةdatetime— تاريخ أو تاريخ مع وقت يُضاف إليه عدد الساعات المحدد.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الساعات المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num ساعة إليه. DateTime أو DateTime64(3)
أمثلة
إضافة ساعات إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
addInterval
أُضيف في: v22.11.0 يضيف فترة زمنية إلى فترة زمنية أخرى أو إلى Tuple من الفترات الزمنية.ستُدمج الفترات الزمنية من النوع نفسه في فترة زمنية واحدة. على سبيل المثال، إذا تم تمرير
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
أُضيف في: v22.6.0 يضيف عددًا محددًا من الميكروثواني إلى تاريخ ووقت، أو إلى تاريخ ووقت مُرمَّز كسلسلة نصية. البنيةdatetime— تاريخ ووقت يُضاف إليه العدد المحدد من الميكروثواني.DateTimeأوDateTime64أوStringnum— عدد الميكروثواني المطلوب إضافته.(U)Int*أوFloat*
date_time بعد إضافة num من الميكروثواني DateTime64
أمثلة
إضافة ميكروثوانٍ إلى أنواع مختلفة من التاريخ والوقت
Query
Response
Query
Response
addMilliseconds
أُضيفت في: v22.6.0 تضيف عددًا محددًا من المللي ثانية إلى قيمة تاريخ ووقت أو إلى تاريخ ووقت مُرمَّزَين كسلسلة نصية. البنيةdatetime— تاريخ ووقت يُضاف إليه العدد المحدد من المللي ثانية.DateTimeأوDateTime64أوStringnum— عدد المللي ثانية المطلوب إضافته.(U)Int*أوFloat*
datetime بعد إضافة num مللي ثانية إليه DateTime64
أمثلة
إضافة مللي ثانية إلى أنواع مختلفة من التاريخ والوقت
Query
Response
Query
Response
addMinutes
أُضيف في: v1.1.0 يضيف عددًا محددًا من الدقائق إلى تاريخ، أو تاريخ ووقت، أو تاريخ مُرمَّز كسلسلة نصية، أو تاريخ ووقت مُرمَّز كسلسلة نصية. البنيةdatetime— تاريخ أو قيمة تاريخ/وقت يُضاف إليها العدد المحدد من الدقائق.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الدقائق المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num دقيقةً إليه. DateTime أو DateTime64(3)
أمثلة
إضافة دقائق إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
addMonths
أُضيف في: v1.1.0 يضيف عددًا محددًا من الأشهر إلى تاريخ، أو تاريخ ووقت، أو تاريخ أو تاريخ ووقت مُرمَّزَين كسلسلة نصية. الصيغةdatetime— تاريخ أو تاريخ مع وقت لإضافة عدد محدد من الأشهر إليه.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأشهر المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num من الأشهر إليه Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة أشهر إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
addNanoseconds
أُضيف في الإصدار: v22.6.0 يضيف عددًا محددًا من النانوثواني إلى تاريخ ووقت أو إلى تاريخ ووقت مُرمَّزَين كسلسلة نصية. الصيغةdatetime— قيمة تاريخ ووقت يُراد إضافة العدد المحدد من النانوثواني إليها.DateTimeأوDateTime64أوStringnum— عدد النانوثواني المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num من النانوثواني إليه من النوع DateTime64
أمثلة
إضافة نانوثوانٍ إلى أنواع مختلفة من التاريخ والوقت
Query
Response
Query
Response
addQuarters
أُضيف في: v20.1.0 يضيف عددًا محددًا من أرباع السنة إلى تاريخ، أو تاريخ ووقت، أو تاريخ مُرمَّز كسلسلة نصية، أو تاريخ ووقت مُرمَّز كسلسلة نصية. الصيغةdatetime— تاريخ أو تاريخ ووقت يُضاف إليه العدد المحدد من أرباع السنة.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد أرباع السنة المطلوب إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num من أرباع السنة إليه Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة أرباع السنة إلى أنواع مختلفة من التاريخ
Query
Response
Query
Response
addSeconds
قُدِّم في: v1.1.0 يضيف عددًا محددًا من الثواني إلى تاريخ، أو تاريخ ووقت، أو تاريخ مُمثَّل كسلسلة نصية، أو تاريخ ووقت مُمثَّل كسلسلة نصية. الصيغةdatetime— تاريخ أو تاريخ مع وقت لإضافة العدد المحدد من الثواني إليه.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الثواني المراد إضافته.(U)Int*أوFloat*
datetime بعد إضافة num ثانية إليه. DateTime أو DateTime64(3)
أمثلة
إضافة ثوانٍ إلى أنواع تاريخ متعددة
Query
Response
Query
Response
addTupleOfIntervals
أُضيف في: v22.11.0 يضيف بالتتابع Tuple من قيم interval إلى تاريخ أو تاريخ مع وقت. البنيةdatetime— تاريخ أو تاريخ مع وقت لإضافة الفترات إليه.DateأوDate32أوDateTimeأوDateTime64intervals—Tupleمن الفترات لإضافتها إلىdatetime.Tuple(Interval)
date بعد إضافة intervals Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة Tuple من الفترات إلى تاريخ
Query
Response
addWeeks
أُضيفت في: v1.1.0 يضيف عددًا محددًا من الأسابيع إلى تاريخ، أو تاريخ مع وقت، أو تاريخ أو تاريخ مع وقت مُشفَّر كسلسلة نصية. الصيغةdatetime— تاريخ أو تاريخ يتضمن وقتًا لإضافة العدد المحدد من الأسابيع إليه.DateorDate32orDateTimeorDateTime64orStringnum— عدد الأسابيع المراد إضافتها.(U)Int*orFloat*
datetime بعد إضافة num من الأسابيع إليه Date or Date32 or DateTime or DateTime64
أمثلة
إضافة أسابيع إلى أنواع مختلفة من التواريخ
Query
Response
Query
Response
addYears
أُضيفت في: v1.1.0 تضيف عددًا محددًا من السنوات إلى تاريخ، أو تاريخ ووقت، أو تاريخ أو تاريخ ووقت ممثَّلَين كسلسلة نصية. البنيةdatetime— تاريخ أو تاريخ مع وقت لإضافة العدد المحدد من السنوات إليه.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد السنوات المراد إضافتها.(U)Int*أوFloat*
datetime بعد إضافة num سنة إليه. Date أو Date32 أو DateTime أو DateTime64
أمثلة
إضافة سنوات إلى أنواع تاريخ مختلفة
Query
Response
Query
Response
age
أُضيف في: v23.1.0 يعيد مكوّن الوحدة من الفرق بينstartdate وenddate.
ويُحسب الفرق باستخدام دقة مقدارها 1 نانوثانية.
على سبيل المثال، يكون الفرق بين 2021-12-29 و2022-01-01 هو 3 أيام لوحدة اليوم،
و0 شهرًا لوحدة الشهر، و0 سنة لوحدة السنة.
كبديل للدالة age، راجع الدالة dateDiff.
البنية
unit— نوع الفاصل الزمني للنتيجة.
startdate— أول قيمة زمنية للطرح (المطروح).DateأوDate32أوDateTimeأوDateTime64enddate— ثاني قيمة زمنية يُطرح منها (المطروح منه).DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. اسم المنطقة الزمنية. إذا تم تحديده، فسيُطبَّق على كلٍّ من startdate و enddate. وإذا لم يتم تحديده، فستُستخدم المنطقتان الزمنيتان لـ startdate و enddate. وإذا لم تكونا متماثلتين، فالنتيجة غير محددة.String
Int32
أمثلة
حساب العمر بالساعات
Query
Response
Query
Response
changeDay
قُدِّم في: v24.7.0 يغيّر مكوّن اليوم في قيمة من النوع Date أو في قيمة تاريخ ووقت. الصياغةdate_or_datetime— القيمة المطلوب تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن اليوم. Date أو Date32 أو DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
changeHour
أُضيفت في: v24.7.0 تُغيّر مكوّن الساعة في قيمة من نوع تاريخ أو تاريخ ووقت. البنيةdate_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن الساعة. DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
changeMinute
أُضيف في: v24.7.0 يُغيّر مكوّن الدقائق فيdate or date time.
البنية
date_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime بعد تعديل مكوّن الدقيقة. DateTime أو DateTime64
أمثلة
مثال للاستخدام
Query
Response
changeMonth
استُحدث في: v24.7.0 يُغيّر مكوّن الشهر في قيمة من نوع تاريخ أو تاريخ ووقت. البنيةdate_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن الشهر. Date أو Date32 أو DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
changeSecond
أُضيف في: v24.7.0 يُغيّر مكوّن الثواني في قيمة من نوع date أو date time. البنيةdate_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن الثواني. DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
changeYear
قُدِّمت في: v24.7.0 تُغيِّر مكوّن السنة في قيمة من نوع Date أو DateTime. الصياغةdate_or_datetime— القيمة المراد تغييرها.DateأوDate32أوDateTimeأوDateTime64value— القيمة الجديدة.(U)Int*
date_or_datetime مع تعديل مكوّن السنة. Date أو Date32 أو DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
dateDiff
تم تقديمه في: v23.4.0 يعيد عدد حدود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— نوع الفاصل الزمني المستخدم في النتيجة.
startdate— القيمة الزمنية الأولى التي تُطرح (المطروح).DateأوDate32أوDateTimeأوDateTime64enddate— القيمة الزمنية الثانية التي يُطرح منها (المطروح منه).DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. اسم المنطقة الزمنية. إذا تم تحديده، فسيُطبَّق على كلٍّ منstartdateوenddate. وإذا لم يتم تحديده، فستُستخدم المنطقتان الزمنيتان لـstartdateوenddate. وإذا لم تكونا متماثلتين، فستكون النتيجة غير محددة.String
enddate وstartdate معبَّرًا عنه بوحدة unit. Int64
أمثلة
حساب فرق التاريخ بالساعات
Query
Response
Query
Response
dateName
أُضيف في: v21.7.0 يعيد الجزء المحدد من التاريخ. القيم الممكنة:- ‘year’
- ‘quarter’
- ‘month’
- ‘week’
- ‘dayofyear’
- ‘day’
- ‘weekday’
- ‘hour’
- ‘minute’
- ‘second’
date_part— جزء التاريخ الذي تريد استخراجه.Stringdatetime— قيمة تاريخ أو تاريخ ووقت.DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. المنطقة الزمنية.String
String
أمثلة
استخراج أجزاء مختلفة من التاريخ
Query
Response
dateTrunc
أُضيفت في: v20.8.0 تقصّ قيمة تاريخ ووقت إلى الجزء المحدد من التاريخ. الصيغةDATE_TRUNC
الوسيطات
unit— وحدة الفترة الزمنية المراد اقتطاع النتيجة إليها. القيم الممكنة:nanosecond(فقط DateTime64)،microsecond(فقط DateTime64)،millisecond(فقط DateTime64)،second،minute،hour،day،week،month،quarter،year.Stringdatetime— التاريخ والوقت.DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. اسم المنطقة الزمنية لقيمة التاريخ والوقت المعادة. إذا لم يتم تحديده، تستخدم الدالة المنطقة الزمنية الخاصة بالوسيطةdatetime.String
أمثلة
الاقتطاع من دون منطقة زمنية
Query
Response
Query
Response
formatDateTime
أُضيف في: v1.1.0 ينسّق تاريخًا أو تاريخًا مع وقت وفقًا لسلسلة التنسيق المحددة. يكونformat تعبيرًا ثابتًا، لذا لا يمكنك استخدام عدة تنسيقات لعمود نتيجة واحد.
تستخدم formatDateTime أسلوب تنسيق datetime الخاص بـ MySQL، راجع وثائق MySQL.
العملية العكسية لهذه الدالة هي parseDateTime.
باستخدام حقول الاستبدال، يمكنك تحديد نمط للسلسلة الناتجة.
يوضح عمود المثال في الجدول أدناه نتيجة التنسيق للقيمة 2018-01-02 22:33:44.
حقول الاستبدال:
- في إصدارات 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
أُضيفت في: v20.1.0 تُشبهformatDateTime، إلا أنها تنسّق قيم التاريخ والوقت بأسلوب Joda بدلًا من أسلوب MySQL. راجع توثيق Joda Time.
العملية العكسية لهذه الدالة هي parseDateTimeInJodaSyntax.
باستخدام حقول الاستبدال، يمكنك تحديد نمط للسلسلة الناتجة.
حقول الاستبدال:
البنية
datetime— تاريخ أو تاريخ ووقت لتنسيقه.DateTimeأوDateأوDate32أوDateTime64format— سلسلة تنسيق تتضمن حقول استبدال بنمط Joda.Stringtimezone— اختياري. اسم المنطقة الزمنية للوقت المنسَّق.String
String
أمثلة
تنسيق التاريخ والوقت باستخدام بنية Joda
Query
Response
fromDaysSinceYearZero
أُضيفت في: v23.11.0 بالنسبة إلى عدد معيّن من الأيام المنقضية منذ 1 January 0000، تُرجِع هذه الدالة التاريخ الموافق في التقويم الغريغوري الاستباقي المعرّف وفق ISO 8601. يكون الحساب مماثلًا لما في الدالةFROM_DAYS() في MySQL. وتكون النتيجة غير معرّفة إذا تعذّر تمثيلها ضمن حدود النوع Date.
الصيغة
FROM_DAYS
الوسائط
days— عدد الأيام المنقضية منذ العام صفر.UInt32
Date
أمثلة
تحويل الأيام منذ العام صفر إلى تواريخ
Query
Response
fromDaysSinceYearZero32
أُضيف في: v23.11.0 بالنسبة إلى عدد معيّن من الأيام المنقضية منذ 1 January 0000، تُرجِع الدالة التاريخ المقابل في التقويم الغريغوري الممتد استباقيًا كما يحدده ISO 8601. ويكون الحساب مماثلًا لما في الدالةFROM_DAYS() في MySQL. وتكون النتيجة غير معرّفة إذا تعذّر تمثيلها ضمن حدود النوع Date32.
البنية
days— عدد الأيام المنقضية منذ السنة صفر.UInt32
Date32
أمثلة
تحويل الأيام منذ السنة صفر إلى تواريخ
Query
Response
fromModifiedJulianDay
أُضيفت في: v21.1.0 تحوّل رقم Modified Julian Day إلى تاريخ وفق Proleptic Gregorian calendar بصيغة نصيةYYYY-MM-DD. تدعم هذه الدالة أرقام الأيام من -678941 إلى 2973483 (وهي تمثل 0000-01-01 و9999-12-31 على التوالي). وتُطلق استثناءً إذا كان رقم اليوم خارج النطاق المدعوم.
البنية
day— رقم اليوم اليولياني المُعدَّل.(U)Int*
String
أمثلة
تحويل اليوم اليولياني المُعدَّل إلى تاريخ
Query
Response
fromModifiedJulianDayOrNull
أُضيف في: v21.1.0 يشبهfromModifiedJulianDay()، لكنه يعيد NULL بدلًا من إطلاق استثناءات.
الصيغة
day— رقم اليوم اليولياني المعدّل.(U)Int*
day صالحة، وإلا فستكون null. Nullable(String)
أمثلة
تحويل اليوم اليولياني المعدّل إلى تاريخ مع التعامل مع القيم null
Query
Response
fromUTCTimestamp
أُضيف في: v22.1.0 يحوّل قيمة تاريخ أو تاريخ مع وقت من المنطقة الزمنية UTC إلى قيمة تاريخ أو تاريخ مع وقت بالمنطقة الزمنية المحددة. تُضمَّن هذه الدالة أساسًا للتوافق مع Apache Spark وأطر العمل المماثلة. الصيغةfrom_utc_timestamp
الوسيطات
datetime— قيمة ثابتة من نوع تاريخ أو تاريخ مع وقت، أو تعبير.DateTimeأوDateTime64time_zone— قيمة ثابتة من نوع String أو تعبير يمثّل المنطقة الزمنية.String
DateTime أو DateTime64
أمثلة
تحويل المنطقة الزمنية UTC إلى المنطقة الزمنية المحددة
Query
Response
fromUnixTimestamp
أُضيف في: v20.8.0 تحوّل هذه الدالة طابعًا زمنيًا بنظام Unix إلى تاريخ تقويمي ووقت من اليوم. يمكن استدعاؤها بطريقتين:- عند تمرير وسيط واحد من النوع
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
أُضيفت في: v23.1.0 تُحوِّل هذه الدالة طابعًا زمنيًا بنظام Unix إلى تاريخ تقويمي ووقت من اليوم. يمكن استدعاؤها بطريقتين: عند تمرير وسيط واحد من النوع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
أُضيف في: v26.7.0 يعيد الوقت الحالي من اليوم وفق المنطقة الزمنية الخاصة بالخادم (أو الجلسة) في لحظة تحليل الاستعلام. الدالة تعبير ثابت. وهيLOCALTIME القياسية في SQL / PostgreSQL، وتكافئ CAST(now() AS Time).
هذه الدالة غير حتمية: يمكن أن تُرجِع نتائج مختلفة للوسائط نفسها.
- لا يوجد.
Time
أمثلة
صيغة SQL القياسية من دون أقواس
Query
Response
makeDate
أُضيفت في: v22.6.0 تنشئ قيمة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
أُضيفت في: v22.6.0 تُنشئ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
أُضيفت في: v22.6.0 تنشئ قيمة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
أُضيفت في: v22.6.0 تنشئ قيمة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
أُضيف في: v22.1.0 تُرجع اسم الشهر كسلسلة نصية من قيمة من نوع تاريخ أو تاريخ مع وقت. البنيةdatetime— تاريخ أو تاريخ يتضمن وقتًا.DateأوDate32أوDateTimeأوDateTime64
String
أمثلة
الحصول على اسم الشهر من التاريخ
Query
Response
now
ظهرت في: v1.1.0 تعيد التاريخ والوقت الحاليين عند لحظة تحليل الاستعلام. الدالة تعبير ثابت.هذه الدالة غير حتمية: يمكن أن تعيد نتائج مختلفة لنفس الوسائط.
localtimestamp, current_timestamp
الوسائط
timezone— اختياري. اسم المنطقة الزمنية للقيمة المُعادة.String
DateTime
أمثلة
استعلام بدون منطقة زمنية
Query
Response
Query
Response
Query
Response
now64
أُضيفت في: v20.1.0 تعيد التاريخ والوقت الحاليَّين بدقة أجزاء الثانية عند لحظة تحليل الاستعلام. الدالة تعبير ثابت.هذه الدالة غير حتمية: يمكن أن تُرجع نتائج مختلفة للوسائط نفسها.
scale— اختياري. حجم الخطوة (الدقة):10^-precisionثانية. النطاق الصالح: [0 : 9]. تُستخدم عادةً القيم 3 (افتراضي) (مللي ثانية)، و6 (ميكروثانية)، و9 (نانوثانية).UInt8timezone— اختياري. اسم المنطقة الزمنية للقيمة المُعادة.String
DateTime64
أمثلة
استعلام بدقة افتراضية ومخصّصة
Query
Response
nowInBlock
أُضيفت في: v22.8.0 تعيد التاريخ والوقت الحاليين عند معالجة كل كتلة من البيانات. وعلى عكس الدالةnow، فهي ليست تعبيرًا ثابتًا، وستختلف القيمة المعادة من كتلة إلى أخرى في الاستعلامات طويلة التشغيل.
من المنطقي استخدام هذه الدالة لتوليد الوقت الحالي في استعلامات INSERT SELECT طويلة التشغيل.
هذه الدالة غير حتمية: يمكنها إرجاع نتائج مختلفة للوسائط نفسها.
timezone— اختياري. اسم المنطقة الزمنية للقيمة المعادة.String
DateTime
أمثلة
الفرق عن الدالة now()
Query
Response
nowInBlock64
استُحدثت في: v25.8.0 تعيد التاريخ والوقت الحاليين عند معالجة كل كتلة من البيانات، وذلك بالمللي ثانية. وعلى خلاف الدالة now64، فهي ليست تعبيرًا ثابتًا، وستكون القيمة المُعادة مختلفة من كتلة إلى أخرى في الاستعلامات طويلة التشغيل. يُستحسن استخدام هذه الدالة لتوليد الوقت الحالي في استعلاماتINSERT SELECT طويلة التشغيل.
هذه الدالة غير حتمية: قد تُرجِع نتائج مختلفة للمعاملات نفسها.
scale— اختياري. حجم الـ tick (الدقة): 10^-precision ثانية. النطاق الصالح: [0 : 9]. تُستخدم عادةً القيم: 3 (افتراضيًا) (ميلي ثانية)، 6 (ميكروثانية)، 9 (نانوثانية).UInt8timezone— اختياري. اسم المنطقة الزمنية للقيمة المعادة.String
DateTime64
أمثلة
الفرق مع الدالة now64()
Query
Response
serverTimezone
أُضيفت في: v23.6.0 تُرجِع المنطقة الزمنية للخادم، أي قيمة إعدادtimezone.
إذا نُفِّذت الدالة في سياق جدول موزّع، فإنها تُنشئ عمودًا عاديًا بقيم تخص كل shard. وإلا، فإنها تُنتج قيمة ثابتة.
هذه الدالة غير حتمية: يمكن أن تُرجِع نتائج مختلفة للوسائط نفسها.
serverTimeZone
الوسائط
- لا شيء.
String
أمثلة
مثال على الاستخدام
Query
Response
subDate
أُضيف في: v23.9.0 يطرح الفاصل الزمني من التاريخ أو التاريخ والوقت المُقدَّمين، أو من تاريخ أو تاريخ ووقت مُرمَّزين كسلسلة. إذا نتج عن الطرح قيمة تقع خارج حدود نوع البيانات، فالنتيجة غير معرّفة. البنيةdatetime— التاريخ أو التاريخ والوقت الذي يُطرَح منهinterval.DateأوDate32أوDateTimeأوDateTime64interval— الفاصل الزمني المراد طرحه.Interval
interval من datetime. Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح فاصل زمني من تاريخ
Query
Response
subtractDays
أُضيفت في: v1.1.0 يطرح عددًا محددًا من الأيام من تاريخ، أو تاريخ ووقت، أو تاريخ أو تاريخ ووقت مُرمَّزَين كسلسلة نصية. البنيةdatetime— تاريخ أو تاريخ يتضمن وقتًا، يُطرح منه العدد المحدد من الأيام.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأيام المطلوب طرحها.(U)Int*أوFloat*
datetime بعد طرح num يومًا منه. Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح الأيام من أنواع التاريخ المختلفة
Query
Response
Query
Response
subtractHours
قُدِّمت في: v1.1.0 تطرح عددًا محددًا من الساعات من تاريخ، أو تاريخ ووقت، أو تاريخ مُمثَّل كسلسلة نصية، أو تاريخ ووقت مُمثَّل كسلسلة نصية. البنيةdatetime—Dateأو تاريخ أو تاريخ مع وقت يُطرح منه العدد المحدد من الساعات.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الساعات المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num ساعة منه DateTime أو DateTime64(3)
أمثلة
طرح الساعات من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractInterval
أُضيف في: v22.11.0 يضيف قيمة interval سالبة إلى interval أخرى أو إلى tuple من قيم interval. ملاحظة: ستُدمج قيم interval من النوع نفسه في قيمة interval واحدة. على سبيل المثال، إذا تم تمريرtoIntervalDay(2) و toIntervalDay(1)
فستكون النتيجة (1) بدلًا من (2,1).
الصياغة
interval_1— الفاصل الزمني الأول أو Tuple من الفواصل الزمنية.IntervalأوTuple(Interval)interval_2— الفاصل الزمني الثاني المراد عكس إشارته.Interval
Tuple(T)
أمثلة
طرح الفواصل الزمنية
Query
Response
subtractMicroseconds
أُضيف في: v22.6.0 يطرح عددًا محددًا من الميكروثواني من قيمة تاريخ ووقت أو من قيمة تاريخ ووقت مُرمَّزة كسلسلة نصية. الصياغةdatetime— قيمة تاريخ ووقت يُطرح منها العدد المحدد من الميكروثواني.DateTimeأوDateTime64أوStringnum— عدد الميكروثواني المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num ميكروثانية منه DateTime64
أمثلة
طرح الميكروثواني من أنواع مختلفة من قيم التاريخ والوقت
Query
Response
Query
Response
subtractMilliseconds
أُضيفت في: v22.6.0 تطرح عددًا محددًا من المللي ثانية من قيمة تاريخ ووقت أو من قيمة تاريخ ووقت مُرمَّزة كسلسلة نصية. الصياغةdatetime— قيمة تاريخ ووقت يُطرح منها العدد المحدد من المللي ثانية.DateTimeأوDateTime64أوStringnum— عدد المللي ثوانٍ المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num مللي ثانية منه DateTime64
أمثلة
طرح المللي ثانية من أنواع مختلفة من التاريخ والوقت
Query
Response
Query
Response
subtractMinutes
أُضيف في: v1.1.0 يطرح عددًا محددًا من الدقائق من تاريخ، أو تاريخ ووقت، أو تاريخ أو تاريخ ووقت مُرمَّز كسلسلة. الصيغةdatetime— تاريخ أو تاريخ ووقت يُطرح منهما العدد المحدد من الدقائق.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الدقائق المطلوب طرحه.(U)Int*أوFloat*
datetime بعد طرح num دقيقة منه من النوع DateTime أو DateTime64(3)
أمثلة
طرح الدقائق من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractMonths
أُضيف في: v1.1.0 يطرح عددًا محددًا من الأشهر من تاريخ، أو تاريخ ووقت، أو تاريخ مُرمَّز كسلسلة نصية، أو تاريخ ووقت مُرمَّز كسلسلة نصية. الصيغةdatetime— تاريخ أو تاريخ مع وقت يُطرح منه عدد الأشهر المحدد.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأشهر المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num شهرًا منه Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح الأشهر من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractNanoseconds
أُضيف في: v20.1.0 يطرح عددًا محددًا من النانوثواني من قيمة تاريخ ووقت أو من تاريخ ووقت مُرمَّز كسلسلة نصية. البنيةdatetime— تاريخ ووقت يُطرح منه عدد محدد من النانوثواني.DateTimeأوDateTime64أوStringnum— عدد النانوثواني المطلوب طرحه.(U)Int*أوFloat*
datetime بعد طرح num نانوثانية منها، من النوع DateTime64
أمثلة
طرح النانوثواني من أنواع التاريخ والوقت المختلفة
Query
Response
Query
Response
subtractQuarters
أُضيف في: v20.1.0 يطرح عددًا محددًا من أرباع السنة من تاريخ، أو تاريخ ووقت، أو تاريخ مُرمَّز كسلسلة نصية، أو تاريخ ووقت مُرمَّز كسلسلة نصية. الصيغةdatetime— تاريخ أو تاريخ مع وقت يُطرح منه العدد المحدد من أرباع السنة.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد أرباع السنة المراد طرحه.(U)Int*أوFloat*
datetime بعد طرح num من أرباع السنة. Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح أرباع السنة من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractSeconds
أُضيف في: v1.1.0 يطرح عددًا محددًا من الثواني من تاريخ، أو تاريخ ووقت، أو تاريخ أو تاريخ ووقت مُرمَّزَين كسلسلة نصية. الصيغةdatetime— تاريخ أو تاريخ مع وقت يُطرح منه العدد المحدد من الثواني.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الثواني المطلوب طرحها.(U)Int*أوFloat*
datetime بعد طرح num ثانية منه DateTime أو DateTime64(3)
أمثلة
طرح الثواني من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractTupleOfIntervals
قُدِّم في: v22.11.0 يطرح بالتتابع مجموعة مرتبة من الفواصل الزمنية من تاريخ أو من تاريخ ووقت. البنيةdatetime— تاريخ أو تاريخ ووقت تُطرح منه الفواصل الزمنية.DateأوDate32أوDateTimeأوDateTime64intervals— Tuple من الفواصل الزمنية تُطرح منdatetime.Tuple(Interval)
date بعد طرح intervals منه Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح Tuple من الفواصل الزمنية من التاريخ
Query
Response
subtractWeeks
أُضيفت في: v1.1.0 تطرح عددًا محددًا من الأسابيع من تاريخ، أو تاريخ ووقت، أو تاريخ أو تاريخ ووقت مُرمَّز كسلسلة نصية. البنيةdatetime—Dateأو تاريخ مع وقت يُطرح منه العدد المحدد من الأسابيع.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد الأسابيع المطلوب طرحه.(U)Int*أوFloat*
datetime بعد طرح num أسبوعًا منه Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح أسابيع من أنواع تاريخ مختلفة
Query
Response
Query
Response
subtractYears
أُضيف في: v1.1.0 يطرح عددًا محددًا من السنوات من تاريخ، أو تاريخ ووقت، أو تاريخ أو تاريخ ووقت مُمثَّلَين كسلسلة نصية. بناء الجملةdatetime— تاريخ أو تاريخ مع وقت يُطرح منه عدد السنوات المحدد.DateأوDate32أوDateTimeأوDateTime64أوStringnum— عدد السنوات المطلوب طرحه.(U)Int*أوFloat*
datetime بعد طرح num سنة منه. Date أو Date32 أو DateTime أو DateTime64
أمثلة
طرح السنوات من أنواع تاريخ مختلفة
Query
Response
Query
Response
timeDiff
أُضيفت في: v23.4.0 تعيد الفرق بالثواني بين تاريخين أو بين قيمتَي تاريخ ووقت. ويُحسب الفرق على النحو التالي: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
أُضيف في: v1.1.0 قرّب الوقت إلى بداية فترة زمنية مدتها نصف ساعة.على الرغم من أن هذه الدالة يمكن أن تأخذ قيماً من النوعين الموسّعين
Date32 وDateTime64 كوسيط،
فإن تمرير قيمة وقت تقع خارج النطاق المعتاد إليها (من عام 1970 إلى 2149 بالنسبة إلى Date / وحتى 2106 بالنسبة إلى DateTime) سيؤدي إلى نتائج غير صحيحة.time— الوقت المطلوب تقريبه إلى بداية فاصل زمني مدته نصف ساعة.DateTimeأوDate32أوDateTime64time_zone— اختياري. قيمة ثابتة من نوع String أو تعبير يمثّل المنطقة الزمنية.String
DateTime
أمثلة
تقريب الوقت إلى فاصل زمني مدته نصف ساعة
Query
Response
timeSlots
أُضيف في: v1.1.0 لفترة زمنية تبدأ عند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
أُضيف في: v23.9.0 يحوّل الوسيط الأولexpr إلى النوع DateTime64(6).
إذا تم توفير وسيط ثانٍ expr_time، فإنه يضيف الوقت المحدد إلى القيمة بعد تحويلها.
البنية
expr— تاريخ أو تاريخ متضمّن للوقت.Stringexpr_time— اختياري. الوقت المراد إضافته إلى القيمة المُحوَّلة.String
expr، أو expr بعد إضافة وقت إليه DateTime64(6)
أمثلة
تحويل سلسلة تاريخ إلى DateTime64(6)
Query
Response
Query
Response
timezone
أُضيفت في: v21.4.0 تعيد اسم المنطقة الزمنية للجلسة الحالية، أو تحوّل إزاحة منطقة زمنية أو اسمها إلى الاسم القياسي للمنطقة الزمنية.هذه الدالة غير حتمية: قد تُرجع نتائج مختلفة للوسائط نفسها.
timeZone
الوسيطات
- لا توجد.
String
أمثلة
مثال على الاستخدام
Query
Response
timezoneOf
أُضيف في: v21.4.0 يعيد اسم المنطقة الزمنية لقيمة من النوعDateTime أو DateTime64.
الصياغة
timeZoneOf
الوسائط
datetime— قيمة من النوعDateTimeأوDateTime64timezone— اختياري. اسم المنطقة الزمنية المطلوب تحويل قيمةdatetimeإليها.String
datetime من النوع String
أمثلة
مثال للاستخدام
Query
Response
timezoneOffset
أُضيفت في: v21.6.0 تُرجع فرق المنطقة الزمنية عن UTC بالثواني. وتأخذ الدالة في الحسبان التوقيت الصيفي والتغيّرات التاريخية في المنطقة الزمنية عند التاريخ والوقت المحددين. الصيغةtimeZoneOffset
الوسائط
datetime— قيمةDateTimeالمطلوب الحصول على إزاحة المنطقة الزمنية الخاصة بها.DateTimeأوDateTime64
Int32
أمثلة
مثال على الاستخدام
Query
Response
toDayOfMonth
أُضيفت في: v1.1.0 تعيد يوم الشهر (1-31) لقيمة من النوعDate أو DateTime.
البنية
DAY, DAYOFMONTH
الوسائط
datetime— قيمة من نوع Date أو تاريخ مع وقت لاستخراج يوم الشهر منها.DateأوDate32أوDateTimeأوDateTime64
UInt8
أمثلة
مثال على الاستخدام
Query
Response
toDayOfWeek
أُضيفت في: v1.1.0 تعيد رقم اليوم في الأسبوع لقيمة من النوعDate أو DateTime.
تتيح لك الصيغة ذات الوسيطتين للدالة toDayOfWeek() تحديد ما إذا كان الأسبوع يبدأ يوم الاثنين أو يوم الأحد،
وما إذا كانت القيمة المعادة يجب أن تكون ضمن النطاق من 0 إلى 6 أو من 1 إلى 7.
الصيغة
DAYOFWEEK
الوسيطات
datetime— تاريخ أو تاريخ مع وقت لاستخراج يوم الأسبوع منه.DateأوDate32أوDateTimeأوDateTime64mode— اختياري. عدد صحيح يحدد وضع الأسبوع (0-3). تكون القيمة الافتراضية 0 إذا لم يتم تحديده.UInt8timezone— اختياري. المنطقة الزمنية المستخدمة في التحويل.String
Date أو DateTime المحددة. UInt8
أمثلة
مثال على الاستخدام
Query
Response
toDayOfYear
قُدِّمت في: v18.4.0 تُرجِع رقم اليوم ضمن السنة (1-366) لقيمة من النوعDate أو DateTime.
الصياغة
DAYOFYEAR
الوسيطات
datetime— تاريخ أو تاريخ مع وقت لاستخراج يوم السنة منه.DateأوDate32أوDateTimeأوDateTime64
Date أو DateTime المُعطاة UInt16
أمثلة
مثال على الاستخدام
Query
Response
toDaysInMonth
أُضيفت في: v26.3.0 تعيد عدد الأيام في شهر قيمة من النوعDate أو DateTime.
تكون القيمة المُعادة ضمن النطاق من 28 إلى 31.
البنية
datetime— تاريخ أو تاريخ مع وقت يُستخرج منه عدد أيام الشهر.DateأوDate32أوDateTimeأوDateTime64
UInt8
أمثلة
مثال على الاستخدام
Query
Response
toDaysSinceYearZero
أُضيفت في: v23.9.0 بالنسبة إلى تاريخ معيّن، تُرجع عدد الأيام المنقضية منذ 1 January 0000 وفق التقويم الغريغوري الممتد المعرّف في ISO 8601. هذا الحساب مطابق للحساب المستخدم في الدالةTO_DAYS في MySQL.
البنية
TO_DAYS
الوسيطات
date— التاريخ أو التاريخ والوقت المراد حساب عدد الأيام منذ السنة صفر له.DateأوDate32أوDateTimeأوDateTime64time_zone— المنطقة الزمنية.String
0000-01-01. UInt32
أمثلة
احسب الأيام منذ السنة صفر
Query
Response
toHour
أُضيفت في: v1.1.0 يعيد مكوّن الساعة (0-23) من قيمةDateTime أو DateTime64.
البنية
HOUR
الوسائط
datetime— تاريخ ووقت لاستخراج الساعة منه.DateTimeأوDateTime64
datetime. UInt8
أمثلة
مثال للاستخدام
Query
Response
toISOWeek
أُضيفت في: v20.1.0 تُرجع رقم أسبوع ISO لتاريخ أو تاريخ ووقت. هذه دالة توافقية وتكافئ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
أُضيف في: v18.4.0 يحوِّل تاريخًا أو تاريخًا مع وقت إلى رقم السنة وفق معيار ISO. البنيةdatetime— قيمة من نوع تاريخ أو تاريخ مع وقت.DateأوDate32أوDateTimeأوDateTime64
UInt16
أمثلة
استخراج سنة ISO من قيم التاريخ
Query
Response
toLastDayOfMonth
أُضيف في: v1.1.0 يُقرِّب قيمة من نوع تاريخ أو تاريخ مع وقت إلى آخر يوم في الشهر.يمكن تهيئة نوع الإرجاع من خلال الإعداد
enable_extended_results_for_datetime_functions.LAST_DAY
الوسيطات
value— التاريخ أو التاريخ مع الوقت المطلوب تقريبه للأعلى إلى آخر يوم من الشهر.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب للأعلى إلى آخر يوم من الشهر
Query
Response
toLastDayOfWeek
أُضيف في: v23.5.0 يُقرِّب تاريخًا أو تاريخًا ووقتًا إلى أقرب يوم سبت أو أحد.يمكن تهيئة نوع الإرجاع عبر ضبط
enable_extended_results_for_datetime_functions.datetime— تاريخ أو تاريخ ووقت لتحويله.DateأوDateTimeأوDate32أوDateTime64mode— يحدد أول يوم في الأسبوع كما هو موضح في الدالةtoWeek(). القيمة الافتراضية0.UInt8timezone— اختياري. المنطقة الزمنية المستخدمة في التحويل. إذا لم يتم تحديدها، تُستخدم المنطقة الزمنية الخاصة بالخادم.String
Date أو Date32
أمثلة
التقريب للأعلى إلى أقرب يوم سبت أو أحد
Query
Response
toMicrosecond
أُضيفت في: v25.7.0 تعيد مكوّن الميكروثانية (0-999999) من قيمةDateTime64.
الصياغة
MICROSECOND
الوسيطات
datetime— تاريخ ووقت لاستخراج الميكروثانية منه.DateTime64
datetime. UInt32
أمثلة
مثال على الاستخدام
Query
Response
toMillisecond
أُضيف في: v24.2.0 يعيد مكوّن الملّي ثانية (0-999) من قيمةDateTime أو DateTime64.
البنية
MILLISECOND
الوسيطات
datetime— تاريخ ووقت يُستخرج منه جزء الملّي ثانية.DateTimeأوDateTime64
datetime. UInt16
أمثلة
مثال على الاستخدام
Query
Response
toMinute
أُضيفت في: v1.1.0 تعيد مكوّن الدقيقة (0-59) من قيمةDate أو DateTime.
البنية
MINUTE
الوسائط
datetime— قيمة تاريخ ووقت لاستخراج الدقيقة منها.DateTimeأوDateTime64
datetime. UInt8
أمثلة
مثال على الاستخدام
Query
Response
toModifiedJulianDay
ظهر في: v21.1.0 يحوّل تاريخًا بصيغة نصيةYYYY-MM-DD وفق التقويم الغريغوري الاستباقي إلى رقم اليوم اليولياني المعدّل من النوع Int32. تدعم هذه الدالة التواريخ من 0000-01-01 إلى 9999-12-31. وتُثير استثناءً إذا تعذّر تحليل الوسيطة كتاريخ، أو كان التاريخ غير صالح.
الصياغة
date— التاريخ على هيئة String.StringأوFixedString
Int32
أمثلة
تحويل التاريخ إلى رقم اليوم اليولياني المعدّل
Query
Response
toModifiedJulianDayOrNull
أُضيفت في: v21.1.0 مشابهة لـtoModifiedJulianDay()، ولكن بدلًا من إطلاق استثناءات، تُرجع NULL.
البنية
date— تاريخ بصيغة نصية.StringأوFixedString
date صالحة، وإلا تُعيد null. Nullable(Int32)
أمثلة
تحويل التاريخ إلى رقم اليوم اليولياني المعدّل مع معالجة null
Query
Response
toMonday
أُضيف في: v1.1.0 يُقرِّب التاريخ أو التاريخ مع الوقت نزولًا إلى يوم الاثنين من الأسبوع نفسه. ويُرجع التاريخ.يمكن تهيئة نوع الإرجاع عبر تعيين
enable_extended_results_for_datetime_functions.value— تاريخ أو تاريخ متضمّن لوقت، لتقريبه إلى يوم الاثنين من ذلك الأسبوع.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب إلى يوم الاثنين من الأسبوع
Query
Response
toMonth
أُضيفت في: v1.1.0 تعيد مكوّن الشهر (1-12) من قيمةDate أو DateTime.
الصيغة
MONTH
الوسائط
datetime— تاريخ أو تاريخ مع وقت لاستخراج الشهر منه.DateأوDate32أوDateTimeأوDateTime64
UInt8
أمثلة
مثال على الاستخدام
Query
Response
toMonthNumSinceEpoch
استُحدث في: v25.3.0 يعيد عدد الأشهر منذ عام 1970 الصيغةdate— تاريخ أو تاريخ ووقت.DateأوDateTimeأوDateTime64
Query
Response
toNanosecond
قُدِّم في: v25.7.0 يعيد مكوّن النانوثانية (0-999999999) من قيمةDateTime64.
الصياغة
NANOSECOND
الوسيطات
datetime— قيمة تاريخ ووقت يُستخرج منها جزء النانوثانية.DateTime64
datetime. UInt32
أمثلة
مثال على الاستخدام
Query
Response
toQuarter
أُضيفت في: v1.1.0 تُرجِع ربع السنة (1-4) لقيمةDate أو DateTime معيّنة.
الصياغة
QUARTER
الوسيطات
datetime— تاريخ أو تاريخ مع وقت لاستخراج ربع السنة منه.DateأوDate32أوDateTimeأوDateTime64
UInt8
أمثلة
مثال على الاستخدام
Query
Response
toRelativeDayNum
أُضيفت في: v1.1.0 تحوِّل قيمة من نوع تاريخ أو تاريخ ووقت إلى عدد الأيام المنقضية منذ نقطة ثابتة معيّنة في الماضي. أما النقطة الزمنية الدقيقة فهي تفصيل متعلق بالتنفيذ، ولذلك فهذه الدالة غير مخصّصة للاستخدام بشكل مستقل. والغرض الرئيسي من هذه الدالة هو حساب الفرق بالأيام بين تاريخين أو قيمتين من نوع تاريخ ووقت، مثل:toRelativeDayNum(dt1) - toRelativeDayNum(dt2).
البنية
date— تاريخ أو تاريخ ووقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الأيام النسبية
Query
Response
toRelativeHourNum
أُضيفت في: v1.1.0 تحوّل تاريخًا أو تاريخًا ووقتًا إلى عدد الساعات المنقضية منذ نقطة ثابتة معيّنة في الماضي. تمثّل النقطة الزمنية الدقيقة تفصيلًا تنفيذيًا، لذلك لا يُقصد استخدام هذه الدالة بشكل مستقل. الغرض الرئيسي من هذه الدالة هو حساب الفرق بالساعات بين تاريخين أو بين قيمتَي تاريخ ووقت، على سبيل المثال:toRelativeHourNum(dt1) - toRelativeHourNum(dt2).
البنية
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
استخراج أرقام الساعات النسبية
Query
Response
toRelativeMinuteNum
أُضيفت في: v1.1.0 تحوّل تاريخًا أو تاريخًا مع وقت إلى عدد الدقائق المنقضية منذ نقطة ثابتة معيّنة في الماضي. النقطة الزمنية الدقيقة هي تفصيل متعلق بالتنفيذ، ولذلك لا يُقصد استخدام هذه الدالة بمفردها. الغرض الرئيسي من هذه الدالة هو حساب الفرق بالدقائق بين تاريخين أو بين قيمتَي تاريخ مع وقت، مثلtoRelativeMinuteNum(dt1) - toRelativeMinuteNum(dt2).
الصيغة
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الدقائق النسبية
Query
Response
toRelativeMonthNum
قُدِّمت في: v1.1.0 تحوّل تاريخًا أو تاريخًا مع وقت إلى عدد الأشهر المنقضية منذ نقطة ثابتة معيّنة في الماضي. النقطة الزمنية الدقيقة هي تفصيل متعلق بالتنفيذ، لذلك لا يُقصد استخدام هذه الدالة بشكل مستقل. الغرض الرئيسي من هذه الدالة هو حساب الفرق بالأشهر بين تاريخين أو تاريخين مع وقت، على سبيل المثال:toRelativeMonthNum(dt1) - toRelativeMonthNum(dt2).
الصياغة
date— تاريخ أو تاريخ ووقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الأشهر النسبية
Query
Response
toRelativeQuarterNum
أُضيفت في: v1.1.0 تحوِّل تاريخًا أو تاريخًا مصحوبًا بوقت إلى عدد الأرباع المنقضية منذ نقطة ثابتة معيّنة في الماضي. النقطة الزمنية الدقيقة هي من تفاصيل التنفيذ، لذلك لا يُقصد استخدام هذه الدالة بشكل مستقل. والغرض الرئيسي من هذه الدالة هو حساب الفرق في الأرباع بين تاريخين أو بين قيمتَي تاريخ مصحوب بوقت، على سبيل المثال:toRelativeQuarterNum(dt1) - toRelativeQuarterNum(dt2).
الصيغة
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام أرباع السنة النسبية
Query
Response
toRelativeSecondNum
أُضيفت في: v1.1.0 تحوِّل تاريخًا أو تاريخًا يتضمّن وقتًا إلى عدد الثواني المنقضية منذ نقطة ثابتة معيّنة في الماضي. النقطة الزمنية الدقيقة هي تفصيل خاص بالتنفيذ، ولذلك لا يُقصد استخدام هذه الدالة بصورة مستقلة. الغرض الأساسي من هذه الدالة هو حساب الفرق بالثواني بين تاريخين أو بين قيمتَي تاريخ مع وقت، على سبيل المثالtoRelativeSecondNum(dt1) - toRelativeSecondNum(dt2).
الصياغة
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الثواني النسبية
Query
Response
toRelativeWeekNum
قُدِّمت في: v1.1.0 تحوِّل قيمة تاريخ أو تاريخ مع وقت إلى عدد الأسابيع المنقضية منذ نقطة ثابتة معيّنة في الماضي. أما النقطة الزمنية الدقيقة فهي من تفاصيل التنفيذ، لذلك فهذه الدالة غير مخصّصة للاستخدام بمفردها. والغرض الرئيسي من هذه الدالة هو حساب الفرق بالأسابيع بين تاريخين أو قيمتي تاريخ مع وقت، على سبيل المثال:toRelativeWeekNum(dt1) - toRelativeWeekNum(dt2).
البنية
date— تاريخ أو تاريخ ووقت.DateأوDateTimeأوDateTime64
UInt32
أمثلة
الحصول على أرقام الأسابيع النسبية
Query
Response
toRelativeYearNum
أُضيفت في: v1.1.0 تحوِّل تاريخًا أو تاريخًا يتضمّن وقتًا إلى عدد السنوات المنقضية منذ نقطة ثابتة معيّنة في الماضي. والنقطة الزمنية الدقيقة هي من تفاصيل التنفيذ، لذلك لا يُقصد استخدام هذه الدالة بشكل مستقل. والغرض الرئيسي من هذه الدالة هو حساب الفرق بالسنوات بين تاريخين أو تاريخين يتضمّنان وقتًا، على سبيل المثال:toRelativeYearNum(dt1) - toRelativeYearNum(dt2).
البنية
date— تاريخ أو تاريخ مع وقت.DateأوDateTimeأوDateTime64
UInt16
أمثلة
الحصول على أرقام السنوات النسبية
Query
Response
toSecond
أُضيف في: v1.1.0 يعيد مكوّن الثواني (0-59) من قيمةDateTime أو DateTime64.
البنية
SECOND
الوسائط
datetime— تاريخ ووقت لاستخراج الثواني منه.DateTimeأوDateTime64
datetime. UInt8
أمثلة
مثال على الاستخدام
Query
Response
toStartOfDay
أُضيف في: v1.1.0 يقرّب قيمة تاريخ ووقت نزولًا إلى بداية اليوم.يمكن تهيئة نوع الإرجاع عبر تعيين
enable_extended_results_for_datetime_functions.DateTime أو DateTime64
أمثلة
التقريب نزولًا إلى بداية اليوم
Query
Response
toStartOfFifteenMinutes
أُضيفت في: v1.1.0 يقرّب نزولًا قيمة التاريخ والوقت إلى بداية الفاصل الزمني البالغ خمس عشرة دقيقة.يمكن تهيئة نوع الإرجاع عبر تعيين
enable_extended_results_for_datetime_functions.datetime— تاريخ أو تاريخ ووقت مطلوب تقريبه.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
مثال
Query
Response
toStartOfFiveMinutes
أُضيفت في: v22.6.0 تُقرِّب قيمة تاريخ ووقت نزولًا إلى بداية فترة الخمس دقائق الأقرب.يمكن تهيئة نوع الإرجاع من خلال الإعداد
enable_extended_results_for_datetime_functions.toStartOfFiveMinute
الوسيطات
datetime— تاريخ ووقت المطلوب تقريبهما.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
مثال
Query
Response
toStartOfHour
تم تقديمه في: v1.1.0 يقرّب تاريخًا ووقتًا نزولًا إلى بداية الساعة.يمكن تهيئة نوع الإرجاع من خلال ضبط
enable_extended_results_for_datetime_functions.datetime— قيمة تاريخية تتضمن وقتًا لتقريبها.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
التقريب نزولًا إلى بداية الساعة
Query
Response
toStartOfISOYear
أُضيفت في: v1.1.0 يقرّب نزولًا تاريخًا أو تاريخًا يتضمن وقتًا إلى اليوم الأول من سنة ISO، والتي قد تختلف عن السنة الميلادية العادية. راجع ISO week date.يمكن تهيئة نوع الإرجاع عن طريق ضبط
enable_extended_results_for_datetime_functions.value— التاريخ أو التاريخ مع وقت المراد تقريبُه نزولًا إلى اليوم الأول من سنة ISO.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب نزولًا إلى اليوم الأول من سنة ISO
Query
Response
toStartOfInterval
أُضيفت في: v20.1.0 تُعمِّم هذه الدالة دوال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).
إذا جرى تحديد الوحدة
WEEK، فإن toStartOfInterval يفترض أن الأسابيع تبدأ يوم الاثنين. لاحظ أن هذا السلوك يختلف عن سلوك الدالة toStartOfWeek، حيث تبدأ الأسابيع افتراضيًا يوم الأحد.
تحاكي صيغة التحميل الزائد الثانية الدالة time_bucket() في TimescaleDB، وكذلك الدالة date_bin() في PostgreSQL.
البنية
date_bin, time_bucket
الوسيط
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
أُضيفت في: v22.6.0 تُقرِّب قيمة تاريخ ووقت نزولًا إلى بداية الميكروثانية. الصيغةdatetime— التاريخ والوقت.DateTime64timezone— اختياري. المنطقة الزمنية للقيمة المُعادة. إذا لم يتم تحديدها، تستخدم الدالة المنطقة الزمنية للمعاملvalue.String
DateTime64
أمثلة
استعلام من دون منطقة زمنية
Query
Response
Query
Response
toStartOfMillisecond
أُضيف في: v22.6.0 يقرّب تاريخًا مع وقت نزولًا إلى بداية الملّي ثانية. البنيةdatetime— التاريخ والوقت.DateTime64timezone— اختياري. المنطقة الزمنية للقيمة المُعادة. إذا لم يتم تحديدها، تستخدم الدالة المنطقة الزمنية للمعلَمةvalue.String
DateTime64
أمثلة
استعلام بدون منطقة زمنية
Query
Response
Query
Response
toStartOfMinute
أُضيفت في: v1.1.0 تُقرِّب قيمة تاريخية تتضمن وقتًا نزولًا إلى بداية الدقيقة.يمكن تهيئة نوع الإرجاع عن طريق ضبط
enable_extended_results_for_datetime_functions.datetime— تاريخ ووقت يُراد تقريبهما.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
التقريب نزولًا إلى بداية الدقيقة
Query
Response
toStartOfMonth
أُضيف في: v1.1.0 يقرّب تاريخًا أو تاريخًا مع وقت إلى اليوم الأول من الشهر.يمكن تهيئة نوع الإرجاع من خلال إعداد
enable_extended_results_for_datetime_functions.value— التاريخ أو التاريخ والوقت المراد تقريبُه نزولًا إلى اليوم الأول من الشهر.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب نزولًا إلى اليوم الأول من الشهر
Query
Response
toStartOfNanosecond
تم تقديمه في: v22.6.0 يقرّب قيمة تاريخ مع وقت نزولًا إلى بداية النانوثانية. البنيةdatetime— التاريخ والوقت.DateTime64timezone— اختياري. المنطقة الزمنية للقيمة المعادة. إذا لم يتم تحديدها، تستخدم الدالة المنطقة الزمنية للمعاملvalue.String
DateTime64
أمثلة
استعلام بدون منطقة زمنية
Query
Response
Query
Response
toStartOfQuarter
أُضيف في: v1.1.0 يقرّب تاريخًا أو قيمة تاريخ ووقت نزولًا إلى اليوم الأول من الربع. ويكون اليوم الأول من الربع أحد التواريخ التالية: 1 يناير، أو 1 أبريل، أو 1 يوليو، أو 1 أكتوبر.يمكن ضبط نوع الإرجاع عن طريق تعيين
enable_extended_results_for_datetime_functions.value— التاريخ أو التاريخ والوقت المراد تقريبه نزولًا إلى اليوم الأول من الربع.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب نزولًا إلى اليوم الأول من الربع
Query
Response
toStartOfSecond
أُضيفت في: v20.5.0 يُنزِّل قيمة تاريخ مع وقت إلى بداية الثانية. الصيغةdatetime— التاريخ والوقت المراد حذف الأجزاء من الثانية منه.DateTime64timezone— اختياري. المنطقة الزمنية للقيمة المُعادة. إذا لم يتم تحديدها، تستخدم الدالة المنطقة الزمنية الخاصة بالمعاملvalue.String
DateTime64
أمثلة
استعلام بدون منطقة زمنية
Query
Response
Query
Response
toStartOfTenMinutes
أُضيف في: v20.1.0 يقرّب قيمة تاريخ مع وقت بالتنزيل إلى بداية أقرب فترة من عشر دقائق.يمكن تهيئة نوع الإرجاع عن طريق تعيين
enable_extended_results_for_datetime_functions.datetime— تاريخ ووقت.DateTimeأوDateTime64
DateTime أو DateTime64
أمثلة
مثال
Query
Response
toStartOfWeek
أُضيف في: v20.1.0 يُقرِّب قيمة من نوع تاريخ أو تاريخ مع وقت نزولًا إلى أقرب يوم أحد أو اثنين.يمكن تهيئة نوع الإرجاع من خلال ضبط
enable_extended_results_for_datetime_functions.datetime— تاريخ أو تاريخ ووقت للتحويل.DateأوDateTimeأوDate32أوDateTime64mode— يحدد أول يوم في الأسبوع كما هو موضح في الدالةtoWeek(). القيمة الافتراضية0.UInt8timezone— المنطقة الزمنية المستخدمة في التحويل. إذا لم يتم تحديدها، فستُستخدم المنطقة الزمنية الخاصة بـ الخادم.String
Date أو Date32
أمثلة
التقريب لأسفل إلى أقرب يوم أحد أو اثنين
Query
Response
toStartOfYear
أُضيف في: v1.1.0 تُنزِّل قيمة من نوع تاريخ أو تاريخ مع وقت إلى اليوم الأول من السنة. وتُرجِع التاريخ ككائنDate.
يمكن تهيئة نوع الإرجاع عبر ضبط
enable_extended_results_for_datetime_functions.value— التاريخ أو التاريخ مع الوقت المراد تقريبه لأسفل.DateأوDate32أوDateTimeأوDateTime64
Date
أمثلة
التقريب لأسفل إلى أول يوم من السنة
Query
Response
toTimeWithFixedDate
أُضيفت في: v25.5.0 تستخرج مكوّن الوقت من تاريخ ووقت. النتيجة المُعادة هي إزاحة إلى نقطة زمنية ثابتة، وهي حاليًا1970-01-02،
لكن النقطة الزمنية الدقيقة هي تفصيل من تفاصيل التنفيذ وقد تتغير مستقبلًا.
لذلك، لا ينبغي استخدام toTimeWithFixedDate بمفردها.
الغرض الرئيسي من الدالة هو حساب الفرق الزمني بين قيمتين من نوع التاريخ والوقت، مثل: toTimeWithFixedDate(dt1) - toTimeWithFixedDate(dt2).
هذه هي الدالة القديمة toTime التي أُعيدت تسميتها في v25.5 لأن الاسم toTime يُستخدم الآن من قِبل
toTime، التي تحوّل القيم إلى
نوع البيانات Time.
ولا يزال بالإمكان الوصول إليها باسمها القديم toTime عند تمكين الإعداد
use_legacy_to_time (قيمته الافتراضية هي 0 منذ v26.7، لكنها كانت 1 من v25.6 إلى v26.6).
إذا كانت الوسيطة datetime تحتوي على مكوّنات دون الثانية، فستُحذف من قيمة DateTime المُعادة، التي تبلغ دقتها ثانية واحدة.
البنية
datetime— تاريخ ووقت لتحويله إلى وقت.DateTimeأوDateTime64timezone— اختياري. المنطقة الزمنية للقيمة المُعادة.String
DateTime
أمثلة
احسب الفرق الزمني بين تاريخين
Query
Response
Query
Response
Query
Response
toTimezone
أُضيف في: v1.1.0 يحوّلDateTime أو DateTime64 إلى المنطقة الزمنية المحددة.
لا تتغير القيمة الداخلية للبيانات (عدد ثواني Unix).
يتغير فقط سِمة المنطقة الزمنية للقيمة وتمثيلها النصي.
البنية
toTimeZone
المعاملات
date— القيمة المراد تحويلها.DateTimeأوDateTime64timezone— اسم المنطقة الزمنية المستهدفة.String
DateTime أو DateTime64
أمثلة
مثال على الاستخدام
Query
Response
toUTCTimestamp
أُضيفت في: v23.8.0 تحوِّل قيمة تاريخ أو تاريخ ووقت من منطقة زمنية إلى طابع زمني بتوقيت UTC. تُضمَّن هذه الدالة أساسًا للتوافق مع Apache Spark وأطر العمل المشابهة. الصيغةto_utc_timestamp
المعاملات
datetime— قيمة ثابتة من نوع تاريخ أو تاريخ ووقت، أو تعبير.DateTimeأوDateTime64time_zone— قيمة ثابتة من نوع String أو تعبير يمثّل المنطقة الزمنية.String
DateTime أو DateTime64
أمثلة
تحويل المنطقة الزمنية إلى UTC
Query
Response
toUnixTimestamp
قُدِّمت في: v1.1.0 يحوّل قيمة من النوعString أو Date أو DateTime إلى طابع زمني Unix (عدد الثواني منذ 1970-01-01 00:00:00 UTC) بصيغة UInt32.
الصياغة
date— القيمة المراد تحويلها.DateأوDate32أوDateTimeأوDateTime64أوStringtimezone— اختياري. المنطقة الزمنية المستخدمة للتحويل. إذا لم يتم تحديدها، تُستخدم المنطقة الزمنية للخادم.String
UInt32
أمثلة
مثال على الاستخدام
Query
Response
toWeek
أُضيفت في: v20.1.0 تعيد هذه الدالة رقم الأسبوع لتاريخ أو قيمة تاريخ ووقت. يتيح لك الشكل ذو الوسيطتين للدالةtoWeek() تحديد ما إذا كان الأسبوع يبدأ
يوم الأحد أو يوم الاثنين، وما إذا كانت القيمة المُعادة يجب أن تكون ضمن النطاق من 0 إلى 53 أو من 1 إلى 53.
تُعد toISOWeek() دالة توافقية مكافئة لـ toWeek(date,3).
يوضح الجدول التالي كيفية عمل وسيطة الوضع.
بالنسبة إلى قيم الوضع التي يكون معناها “يحتوي على 4 أيام أو أكثر في هذه السنة”، تُرقَّم الأسابيع وفقًا للمعيار ISO 8601:1988:
- إذا كان الأسبوع الذي يتضمن 1 يناير يحتوي على 4 أيام أو أكثر في السنة الجديدة، فهو الأسبوع 1.
- وإلا، فهو الأسبوع الأخير من السنة السابقة، ويكون الأسبوع التالي هو الأسبوع 1.
String بتنسيق تدعمه parseDateTime64BestEffort. يوجد دعم لوسائط السلاسل النصية فقط لأسباب تتعلق بالتوافق مع MySQL، كما تتطلبه بعض أدوات الجهات الخارجية. ونظرًا إلى أن دعم وسائط السلاسل النصية قد يصبح في المستقبل معتمدًا على إعدادات جديدة للتوافق مع MySQL، ولأن تحليل السلاسل النصية بطيء عمومًا، يُوصى بعدم استخدامه.
بنية
week
الوسيطات
datetime— Dateأو تاريخ ووقت لاستخراج رقم الأسبوع منه.DateأوDateTimemode— اختياري. يحدد الوضع من0إلى9اليوم الأول من الأسبوع ونطاق رقم الأسبوع. القيمة الافتراضية هي0. -time_zone— اختياري. المنطقة الزمنية.String
UInt32
أمثلة
الحصول على أرقام الأسابيع باستخدام أوضاع مختلفة
Query
Response
toYYYYMM
أُضيفت في: v1.1.0 تحوّل تاريخًا أو تاريخًا ووقتًا إلى رقمUInt32 يحتوي على السنة ورقم الشهر (YYYY * 100 + MM).
وتقبل وسيطة ثانية اختيارية للمنطقة الزمنية. وإذا قُدِّمت، فيجب أن تكون قيمة المنطقة الزمنية ثابتًا نصيًا.
هذه الدالة هي عكس الدالة YYYYMMDDToDate().
بنية
datetime— تاريخ أو تاريخ ووقت لتحويله.DateأوDate32أوDateTimeأوDateTime64timezone— اختياري. المنطقة الزمنية للتحويل. إذا جرى توفيرها، فيجب أن تكون المنطقة الزمنية ثابتًا نصيًا.String
UInt32
أمثلة
تحويل تاريخ ووقت إلى تنسيق YYYYMM في منطقة زمنية أخرى
Query
Response
toYYYYMMDD
أُضيف في: v1.1.0 يحوّل قيمة تاريخ أو تاريخ ووقت إلى عدد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
أُضيفت في: v1.1.0 تحوِّل قيمة من نوع تاريخ أو تاريخ ووقت إلى رقم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
أُضيفت في: v1.1.0 تُرجع مكوّن السنة (ميلادي) من قيمةDate أو DateTime.
البنية
YEAR
الوسيطات
datetime— تاريخ أو تاريخ مع وقت لاستخراج السنة منه.DateأوDate32أوDateTimeأوDateTime64
Date أو DateTime المُعطاة UInt16
أمثلة
مثال على الاستخدام
Query
Response
toYearNumSinceEpoch
استُحدثت في: v25.3.0 تعيد عدد السنوات المنقضية منذ عام 1970 الصياغةdate— تاريخ أو تاريخ ووقت لتحويله.DateأوDateTimeأوDateTime64
Query
Response
toYearWeek
أُضيف في: v20.1.0 تعيد هذه الدالة السنة ورقم الأسبوع لتاريخٍ ما. وقد تختلف السنة في النتيجة عن السنة في وسيطة التاريخ في الأسبوع الأول والأسبوع الأخير من السنة. تعمل وسيطة الوضع بالطريقة نفسها التي تعمل بها وسيطة الوضع في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
أُضيف في: v1.1.0 يعيد التاريخ الحالي وقت تحليل الاستعلام. وهو مطابق لـtoDate(now()).
هذه الدالة غير حتمية: قد تُرجع نتائج مختلفة للمعاملات نفسها.
current_date, curdate
الوسيطات
- لا توجد.
Date
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
yesterday
أُضيفت في: v1.1.0 لا تقبل أي وسيطات وتُرجِع تاريخ الأمس في إحدى مراحل تحليل الاستعلام.هذه الدالة غير حتمية: يمكن أن تُرجِع نتائج مختلفة للوسيطات نفسها.
- لا شيء.
Date
أمثلة
الحصول على تاريخ الأمس
Query
Response