English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل PostgreSQL الأساسي

دليل PostgreSQL المتقدم

واجهة PostgreSQL

وظائف وتعاملات التاريخ/الوقت PostgreSQL

عمليات التاريخ والوقت

المثال أدناه يوضح سلوك عمليات الجبر الأساسي (+, *, إلخ):

عملياتمثالالنتيجة
+التاريخ '2001-09-28' + عدد صحيح '7'التاريخ '2001-10-05'
+التاريخ '2001-09-28' + فترة '1 ساعة'توقيت '2001-09-28 01:00:00'
+التاريخ '2001-09-28' + الوقت '03:00'توقيت '2001-09-28 03:00:00'
+فترة '1 يوم' + فترة '1 ساعة'فترة '1 يوم 01:00:00'
+توقيت '2001-09-28 01:00' + فترة '23 ساعة'توقيت '2001-09-29 00:00:00'
+الوقت '01:00' + فترة '3 ساعة'الوقت '04:00:00'
-- فترة '23 ساعة'فترة '-23:00:00'
-التاريخ '2001-10-01' - التاريخ '2001-09-28'عدد صحيح '3' (أيام)
-التاريخ '2001-10-01' - عدد صحيح '7'التاريخ '2001-09-24'
-التاريخ '2001-09-28' - فترة '1 ساعة'توقيت '2001-09-27 23:00:00'
-الوقت '05:00' - الوقت '03:00'فترة '02:00:00'
-الوقت '05:00' - فترة '2 ساعة'الوقت '03:00:00'
-توقيت '2001-09-28 23:00' - فترة '23 ساعة'timestamp '2001-09-28 00:00:00'
-interval '1 day' - interval '1 hour'interval '1 day -01:00:00'
-timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00'interval '1 day 15:00:00'
*900 * interval '1 second'interval '00:15:00'
*21 * interval '1 day'interval '21 days'
*double precision '3.5' * interval '1 hour'interval '03:30:00'
/interval '1 hour' / double precision '1.5'interval '00:40:00'

وظائف التاريخ والوقت

الوظيفةنوع العودةوصفمثالالنتيجة
age(timestamp, timestamp)intervalالنتيجة بعد طرح parameter وعرضها بشكل رمزي، باستخدام السنوات والشهور وليس أيام فقطage(timestamp '2001-04-10', timestamp '1957-06-13')43 years 9 mons 27 days
age(timestamp)intervalالنتيجة بعد طرح parameter من current_date (في منتصف الليل)age(timestamp '1957-06-13')43 years 8 mons 3 days
clock_timestamp()توقيت مع منطقة زمنيةتوقيت الساعة الحالي للوقت الحقيقي (يتغير عند تنفيذ الجملة)  
current_datedateالتاريخ الحالي؛  
current_timeالوقت مع منطقة الوقتالوقت اليومي؛  
current_timestampتوقيت مع منطقة زمنيةتوقيت بدء المعاملة الحالية؛  
date_part(text, timestamp)دقة عاليةالحصول على المجال الفرعي (المماثل لـ extract);date_part('hour', timestamp '2001-02-16 20:38:40')20
date_part(text, interval)دقة عاليةالحصول على المجال الفرعي (المماثل لـ extract);date_part('month', interval '2 years 3 months')3
date_trunc(text, timestamp)timestampقطع إلى دقة محددةdate_trunc('hour', timestamp '2001-02-16 20:38:40')2001-02-16 20:00:00
date_trunc(text, interval)intervalقطع الدقة المحددة,date_trunc('hour', interval '2 days 3 hours 40 minutes')2 أيام 03:00:00
extract(field from         timestamp)دقة عاليةاستخراج المجال؛extract(hour from timestamp '2001-02-16 20:38:40')20
extract(field from         interval)دقة عاليةاستخراج المجال؛extract(month from interval '2 years 3 months')3
isfinite(date)booleanاختبار ما إذا كانت التاريخ محدودة (ليست +/-无穷)isfinite(date '2001-02-16')true
isfinite(timestamp)booleanاختبار ما إذا كانت البصمة الزمنية محدودة (ليست +/-无穷)isfinite(timestamp '2001-02-16 21:28:30')true
isfinite(interval)booleanاختبار ما إذا كانت فترة الوقت محدودةisfinite(interval '4 hours')true
justify_days(interval)intervalتعديل فترات الوقت شهرياً لمدة 30 يومjustify_days(interval '35 days')1 شهر 5 أيام
justify_hours(interval)intervalتعديل فترات الوقت يومياً لمدة 24 ساعةjustify_hours(interval '27 hours')1 يوم 03:00:00
justify_interval(interval)intervalاستخدام justify_days و justify_hours لتعديل فترات الوقت مع تعديل الأشرطة الإيجابية والسلبية في نفس الوقتjustify_interval(interval '1 mon -1 hour')29 أيام 23:00:00
localtimetimeالوقت اليومي؛  
localtimestamptimestampتوقيت بدء المعاملة الحالية؛  
            make_date(year int,             month إنت,             day int) dateإنشاء تاريخ من أماكن السنة والشهر واليوم.make_date(2013, 7, 15)2013-07-15
          make_interval(years إنت DEFAULT 0,           months إنت DEFAULT 0,           weeks إنت DEFAULT 0,           days إنت DEFAULT 0,           hours إنت DEFAULT 0,           mins إنت DEFAULT 0,           secs دوبل بيزيشن DEFAULT 0.0)           intervalإنشاء فترة من أماكن السنة والشهر والأسابيع واليوم والساعة والدقيقة والثانية.make_interval(days := 10)10 أيام
          make_time(hour إنت,           min إنت,           sec دوبل بيزيشن)           timeإنشاء الوقت من أماكن الساعة والدقيقة والثانية.make_time(8, 15, 23.5)08:15:23.5
          make_timestamp(year إنت,           month إنت,           day إنت,           hour إنت,           min إنت,           sec دوبل بيزيشن)           timestampإنشاء توقيت من أماكن السنة والشهر واليوم والساعة والدقيقة والثانية.make_timestamp(2013, 7, 15, 8, 15, 23.5)2013-07-15 08:15:23.5
          make_timestamptz(year إنت,           month إنت,           day إنت,           hour إنت,           min إنت,           sec دوبل بيزيشن,           [ نص timezone ])           توقيت مع منطقة زمنيةإنشاء توقيت مع منطقة زمنية من أماكن السنة والشهر واليوم والساعة والدقيقة والثانية.         إذا لم يتم تحديد timezone، يتم استخدام المنطقة الزمنية الحالية.make_timestamptz(2013, 7, 15, 8, 15, 23.5)2013-07-15 08:15:23.5+01
now()توقيت مع منطقة زمنيةتوقيت بدء المعاملة الحالية؛  
statement_timestamp()توقيت مع منطقة زمنيةتوقيت الساعة الحالي للم时钟 الحقيقي؛  
timeofday()textمثل clock_timestamp، لكن النتيجة نص النص؛  
transaction_timestamp()توقيت مع منطقة زمنيةتوقيت بدء المعاملة الحالية؛