logo

وظائف تاريخ SQL

في هذا البرنامج التعليمي، سوف نتعرف على بعض وظائف التاريخ الهامة المضمنة في SQL.

وظائف التاريخ في SQL:

  1. الآن()
  2. كورديت()
  3. كورتيم()
  4. تاريخ()
  5. يستخرج()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. صيغة التاريخ()

دعونا نرى كل وظيفة من وظائف التاريخ واحدة تلو الأخرى بالتفصيل بمساعدة الأمثلة. سوف نستخدم قاعدة بيانات MySQL في أمثلة لكتابة الاستعلامات.

لنفترض أن لدينا جدول الطالب الذي يحتوي على البيانات التالية:

بطاقة تعريف اسم DateTime_Birth مدينة
1 Mansi Shah 2010-01-01 18:39:09 بيون
2 تيجال واغ 2010-03-04 05:13:19 ناسيك
3 سيجال كوماري 2010-05-01 10:31:07 مومباي
4 سونال جاين 2010-09-09 17:17:07 شيملا
5 سوريلي ماهيشواري 2010-07-10 20:45:18 خطاب

سوف نستخدم هذا الجدول في بعض الأمثلة.

1. الآن ():

وظيفة NOW () في SQL ستعطي تاريخ ووقت النظام الحالي.

بناء الجملة:

 SELECT NOW (); 

مثال:

اكتب استعلامًا لعرض تاريخ ووقت النظام الحالي.

استفسار:

 mysql> SELECT NOW () AS Current_Date_Time; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة NOW () للحصول على التاريخ والوقت الحاليين للنظام. Current_Date_Time هو اسم مستعار لتخزين التاريخ والوقت.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

Current_Date_Time
2021-10-24 18:28:44

التاريخ والوقت الذي تم فيه تنفيذ الاستعلام في النظام هو 24ذأكتوبر 2021 والساعة 18:28:44. وبالتالي، يتم عرضه كمخرج.

2. كورديت ()

وظيفة CURDATE () في SQL ستعطي تاريخ النظام الحالي.

الرد على النمط المضمن

بناء الجملة:

 SELECT CURDATE (); 

مثال:

اكتب استعلامًا لعرض تاريخ النظام الحالي.

استفسار:

 mysql> SELECT CURDATE () AS CurrentDate; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة CURDATE () للحصول على التاريخ الحالي للنظام. CurrentDate هو اسم مستعار لتخزين التاريخ.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

التاريخ الحالي
2021-10-24

التاريخ الذي تم فيه تنفيذ الاستعلام في النظام هو 24ذأكتوبر 2021. ومن ثم يتم عرضه كمخرج.

3. كورتيم()

وظيفة CURTIME () في SQL ستعطي وقت النظام الحالي.

بناء الجملة:

 SELECT CURTIME (); 

مثال:

اكتب استعلامًا لعرض وقت النظام الحالي.

استفسار:

 mysql> SELECT CURTIME () AS CurrentTime; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة CURTIME () للحصول على الوقت الحالي للنظام. CurrentTime هو اسم مستعار لتخزين الوقت.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

الوقت الحالي
18:49:07

الوقت الذي تم فيه تنفيذ الاستعلام في النظام هو 18:49:07. وبالتالي، يتم عرضه كمخرج.

4. التاريخ()

باستخدام وظيفة DATE () في SQL، يمكنك استخراج التاريخ على وجه التحديد من عمود نوع البيانات DATETIME.

بناء الجملة:

 SELECT DATE (DateTimeValue); 

مثال 1:

اكتب استعلامًا لعرض التاريخ من التاريخ والوقت المحددين، أي 2021-10-24 18:28:44.

استفسار:

 mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة DATE () للحصول على التاريخ فقط من معلمة التاريخ والوقت التي تم تمريرها إلى الدالة DATE(). SHOW_DATE هو اسم مستعار لتخزين التاريخ.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

عرض التاريخ
2021-10-24

من معلمة التاريخ والوقت، أي '2021-10-24 18:28:44'، قيمة التاريخ هي 2021-10-24. وبالتالي، يتم عرضه كمخرج.

مثال 2:

اكتب استعلامًا لعرض كافة التفاصيل من جدول الطلاب مع التاريخ من عمود DateTime_Birth بجدول الطلاب.

استفسار:

 mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student; 

لقد قمنا هنا بكتابة استعلام SELECT لجلب المعرف والاسم. Date_of_Birth هو اسم مستعار لـ DateTime_Birth. لقد استخدمنا Date_of_Birth مع الدالة DATE () للحصول على التاريخ فقط.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

بطاقة تعريف اسم تاريخ الميلاد مدينة
1 Mansi Shah 2010-01-01 بيون
2 تيجال واغ 2010-03-04 ناسيك
3 سيجال كوماري 2010-05-01 مومباي
4 سونال جاين 2010-09-09 شيملا
5 سوريلي ماهيشواري 2010-07-10 خطاب

يتم عرض كافة السجلات كما هي من جدول الطلاب باستثناء العمود DateTime_Birth. يتم عرض التاريخ فقط في العمود Date_of_Birth وفقًا للمتطلبات.

5. استخراج ()

باستخدام الدالة EXTRACT() في SQL، يمكننا استخراج جزء محدد من التاريخ والوقت وفقًا لمتطلباتنا: اليوم، الشهر، السنة، اليوم، الساعة، الدقيقة، إلخ.

الممثلة ساي بالافي

بناء الجملة:

 SELECT EXTRACT (PART FROM DATE / TIME); 

مثال 1:

اكتب استعلامًا لعرض السنة من التاريخ المحدد، أي 24ذأكتوبر 2021.

استفسار:

 mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة EXTRACT () للحصول على السنة من التاريخ المحدد. SHOW_YEAR هو اسم مستعار لتخزين السنة.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

SHOW_YEAR
2021

'2021' هو العام في التاريخ المحدد. وبالتالي، يتم عرضه كمخرج.

مثال 2:

اكتب استعلامًا لعرض الشهر من التاريخ المحدد، أي 24ذأكتوبر 2021.

استفسار:

 mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة EXTRACT () للحصول على الشهر من التاريخ المحدد. SHOW_MONTH هو اسم مستعار لتخزين الشهر.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

SHOW_MONTH
10

10ذهي قيمة الشهر في التاريخ المحدد. وبالتالي، يتم عرضه كمخرج.

مثال 3:

اكتب استعلامًا لعرض اليوم من التاريخ المحدد، أي 24ذأكتوبر 2021.

استفسار:

 mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة EXTRACT () للحصول على اليوم من التاريخ المحدد. SHOW_DAY هو اسم مستعار لتخزين اليوم.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

SHOW_DAY
24

24ذهي قيمة اليوم في التاريخ المحدد. وبالتالي، يتم عرضه كمخرج.

مثال 4:

اكتب استعلامًا لعرض الساعة من الوقت المحدد، أي 19:10:43.

استفسار:

 mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة EXTRACT () للحصول على الساعة من الوقت المحدد. SHOW_HOUR هو اسم مستعار لتخزين قيمة الساعة.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

SHOW_HOUR
19

'19' هي قيمة الساعة في الوقت المحدد. وبالتالي، يتم عرضه كمخرج.

مثال 5:

اكتب استعلامًا لعرض الدقيقة من الوقت المحدد، أي 19:10:43.

استفسار:

 mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة EXTRACT () للحصول على قيمة الدقيقة من الوقت المحدد. SHOW_MINUTE هو اسم مستعار لتخزين الدقيقة.

قائمة المصفوفات جافا

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

SHOW_MINUTE
10

'10' هي قيمة الدقيقة في الوقت المحدد. وبالتالي، يتم عرضه كمخرج.

مثال 6:

اكتب استعلامًا لعرض الثواني من الوقت المحدد، أي 19:10:43.

استفسار:

 mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة EXTRACT () للحصول على قيمة الثواني من الوقت المحدد. SHOW_SECOND هو اسم مستعار لتخزين قيمة الثانية.

بعد تنفيذ الاستعلام أعلاه، حصلنا على النتيجة التالية:

SHOW_SECOND
43

43 هي القيمة الثانية في الوقت المحدد. وبالتالي، يتم عرضه كمخرج.

6.DATE_ADD()

باستخدام الدالة DATE_ADD () في SQL، يمكننا إضافة فاصل زمني محدد إلى التاريخ المحدد.

بناء الجملة:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

مثال 1:

اكتب استعلامًا لإضافة فترة 15 يومًا إلى التاريخ المحدد، أي 24 يومًاذأكتوبر 2021.

استفسار:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة DATE_ADD () لإضافة فاصل زمني قدره 15 يومًا إلى التاريخ المحدد. NEW_DATE هو اسم مستعار لتخزين قيمة التاريخ الجديد.

سوف تحصل على الإخراج التالي:

موعد جديد
2021-11-08

وبعد إضافة فاصل زمني قدره 15 يومًا إلى 24-10-2021، يصبح التاريخ الجديد 08-11-2021.

مثال 2:

اكتب استعلامًا لإضافة فترة زمنية مدتها 5 أشهر إلى التاريخ المحدد، أي 24ذأكتوبر 2021.

استفسار:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام دالة DATE_ADD () لإضافة فاصل زمني قدره 5 أشهر إلى التاريخ المحدد. NEW_DATE هو اسم مستعار لتخزين قيمة التاريخ الجديد.

سوف تحصل على الإخراج التالي:

موعد جديد
2022-03-24

وبعد إضافة فاصل زمني قدره 5 أشهر إلى 24-10-2021، يصبح التاريخ الجديد 24-03-2022.

مثال 3:

اكتب استعلامًا لإضافة فترة زمنية قدرها 25 عامًا إلى التاريخ المحدد، أي 24 عامًاذأكتوبر 2021.

استفسار:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة DATE_ADD () لإضافة فاصل زمني قدره 25 عامًا إلى التاريخ المحدد. NEW_DATE هو اسم مستعار لتخزين قيمة التاريخ الجديد.

سوف تحصل على الإخراج التالي:

موعد جديد
2046-10-24

وبعد إضافة فاصل زمني قدره 25 سنة إلى 24-10-2021، أصبح التاريخ الجديد 24-10-2046.

7.DATE_SUB()

باستخدام الدالة DATE_SUB () في SQL، يمكننا إزالة فاصل زمني محدد من التاريخ المحدد.

بناء الجملة:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

مثال 1:

اكتب استعلامًا لإزالة فترة 25 عامًا من التاريخ المحدد، أي 24 عامًاذأكتوبر 2021.

استفسار:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام دالة DATE_SUB() لإزالة فترة زمنية قدرها 25 عامًا من التاريخ المحدد. NEW_DATE هو اسم مستعار لتخزين قيمة التاريخ الجديد.

سوف تحصل على الإخراج التالي:

موعد جديد
1996-10-24

وبعد إزالة فاصل 25 سنة من 2021-10-24، أصبح التاريخ الجديد 1996-10-24.

مثال 2:

اكتب استعلامًا لإزالة فترة 5 أشهر من التاريخ المحدد، أي 24ذأكتوبر 2021.

استفسار:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام دالة DATE_SUB() لإزالة فاصل زمني قدره 5 أشهر من التاريخ المحدد. NEW_DATE هو اسم مستعار لتخزين قيمة التاريخ الجديد.

سوف تحصل على الإخراج التالي:

موعد جديد
2021-05-24

وبعد إزالة فاصل 5 أشهر من 2021-10-24، يصبح التاريخ الجديد 2021-05-24.

مثال 3:

اكتب استعلامًا لإزالة فترة 15 يومًا من التاريخ المحدد، أي 24ذأكتوبر 2021.

استفسار:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام دالة DATE_SUB() لإزالة فاصل زمني قدره 15 يومًا من التاريخ المحدد. NEW_DATE هو اسم مستعار لتخزين قيمة التاريخ الجديد.

سوف تحصل على الإخراج التالي:

موعد جديد
2021-10-09

وبعد إزالة فاصل 15 يومًا من 2021-10-24، يصبح التاريخ الجديد 2021-10-09.

8. تاريخ ()

إن استخدام الدالة DATEDIFF() في SQL سيعطينا عدد الأيام التي تقع بين التاريخين المحددين.

وظيفة سلسلة فرعية جافا

بناء الجملة:

 SELECT DATEDIFF(Date1, Date2); 

مثال 1:

اكتب استعلامًا لحساب الفرق بين تاريخين محددين، أي 24ذأكتوبر 2021 و 9ذأكتوبر 2021.

استفسار:

 mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام دالة DATE_DIFF() للحصول على الفرق بين التاريخين 2021-10-24 و2021-10-09. Number_of_Days هو اسم مستعار لتخزين الفرق من حيث عدد الأيام.

سوف تحصل على الإخراج التالي:

عدد الأيام
خمسة عشر

هناك فرق 15 يومًا بين التاريخين 2021-10-24 و2021-10-09.

مثال 2:

اكتب استعلامًا لحساب الفرق بين تاريخين محددين، أي 5ذمايو 2018 و 5ذمايو 2008.

استفسار:

 mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة DATE_DIFF () للحصول على الفرق بين التاريخين 2018-05-05 و2008-05-05. Number_of_Days هو اسم مستعار لتخزين الفرق من حيث عدد الأيام.

سوف تحصل على الإخراج التالي:

عدد الأيام
3652

هناك فرق 3652 يومًا بين التاريخين 05-05-2018 و05-05-2008.

9.DATE_FORMAT()

باستخدام الدالة DATE_FORMAT () في SQL، يمكننا عرض المعلومات المتعلقة بالتاريخ أو الوقت بطريقة منسقة بشكل جيد.

بناء جملة استخدام دالة DATE_FORMAT في عمود الجدول:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

أو

بناء الجملة لتنسيق تاريخ محدد:

 SELECT DATE_FORMAT (Date, Expression); 

مثال 1:

اكتب استعلامًا لعرض التاريخ المحدد بطريقة جيدة التنسيق، أي 24ذأكتوبر 2021.

استفسار:

 mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام الدالة DATE_FORMAT () للحصول على التاريخ 2021-10-24 في النموذج المنسق. Formatted_Date هو اسم مستعار لتخزين التاريخ المنسق.

ايموجي الايفون على الاندرويد

سوف تحصل على الإخراج التالي:

Formatted_Date
الأحد 24 أكتوبر 2021

الأحد 24 أكتوبر 2021 هو التاريخ المنسق لعام 2021-10-24.

مثال 2:

اكتب استعلامًا لعرض التاريخ والوقت المحددين بطريقة جيدة التنسيق، أي 24ذأكتوبر 2021 الساعة 22:30:17.

استفسار:

 mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام وظيفة DATE_FORMAT () للحصول على التاريخ والوقت '2021-10-24 22:30:17' في النموذج المنسق. Formatted_DateTime هو اسم مستعار لتخزين التاريخ والوقت المنسقين.

سوف تحصل على الإخراج التالي:

Formatted_DateTime
الأحد 24 أكتوبر 2021 الساعة 10:30:17 مساءً

الأحد 24 أكتوبر 2021 الساعة 10:30:17 مساءً هو التاريخ والوقت المنسق لعام 2021-10-24 22:30:17.

مثال 3:

اكتب استعلامًا لعرض كافة التفاصيل من عمود الطالب مع عمود DateTime_Birth بطريقة منسقة جيدًا.

استفسار:

 mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student; 

لقد قمنا هنا بكتابة استعلام SELECT باستخدام دالة DATE_FORMAT () للحصول على التاريخ والوقت لجميع السجلات في نموذج منسق. Formatted_DateTime هو اسم مستعار لتخزين التاريخ والوقت المنسقين.

سوف تحصل على الإخراج التالي:

بطاقة تعريف اسم Formatted_DateTime مدينة
1 Mansi Shah الجمعة 1 يناير 2010 06:39:09 مساءً بيون
2 تيجال واغ الخميس 4 مارس 2010 05:13:19 صباحاً ناسيك
3 سيجال كوماري السبت 1 مايو 2010 10:31:07 صباحاً مومباي
4 سونال جاين الخميس 09 سبتمبر 2010 05:17:07 مساءً شيملا
5 سوريلي ماهيشواري السبت 10 يوليو 2010 08:45:18 مساءً خطاب

يتم عرض كافة السجلات كما هي من جدول الطلاب باستثناء العمود DateTime_Birth. يتم عرض التاريخ والوقت فقط في العمود Formatted_DateTime حسب المطلوب.