البرمجة

استعلامات PostgreSQL: استرجاع الصفوف للسنة الحالية فقط

بالطبع، يمكنك تحقيق ذلك باستخدام وظائف PostgreSQL المدمجة بطريقة فعّالة. للبحث عن الصفوف التي تنتمي إلى السنة الحالية فقط في جدول ما، يمكنك استخدام وظيفة “EXTRACT” لاستخراج السنة من الطابع الزمني ومن ثم تطابقها مع السنة الحالية باستخدام “CURRENT_DATE”. إليك استعلام SQL يحقق هذا:

sql
SELECT * FROM mytable WHERE EXTRACT(YEAR FROM "MYDATE") = EXTRACT(YEAR FROM CURRENT_DATE);

في هذا الاستعلام، يتم استخدام “EXTRACT(YEAR FROM “MYDATE”)” لاستخراج السنة من العمود الزمني “MYDATE”، ومن ثم يتم مقارنتها مع السنة الحالية المستخرجة باستخدام “EXTRACT(YEAR FROM CURRENT_DATE)”.

هذا الاستعلام سيعيد الصفوف التي تتطابق مع السنة الحالية فقط. يجب عليك استبدال “mytable” و “MYDATE” بأسماء الجدول والعمود الخاصة بك.

بهذه الطريقة، يمكنك فعالياً الحصول على الصفوف التي تنتمي إلى السنة الحالية دون الحاجة إلى استخدام LIKE أو تقنيات أخرى معقدة.

المزيد من المعلومات

تحتاج عند كتابة استعلامات SQL للتفاعل مع تواريخ الجدول، يُفضل أن تكون على دراية ببعض النقاط الهامة. في هذا السياق، سأشير إلى بعض المعلومات التي قد تكون مفيدة:

  1. تنسيق الوقت في PostgreSQL:

    • في PostgreSQL، يتم تخزين التواريخ باستخدام نوع البيانات timestamp.
    • يمكنك استخدام تنسيق الوقت المعياري ISO 8601، والذي يكون على النحو التالي: YYYY-MM-DD HH:MI:SS.
  2. وظيفة EXTRACT:

    • “EXTRACT” هي وظيفة قوية في PostgreSQL تستخدم لاستخراج جزء محدد من الوقت، مثل السنة أو الشهر.
    • يمكن استخدامها لتحليل التواريخ واستخراج المكونات المختلفة منها.
  3. التعامل مع الشروط الزمنية:

    • عند كتابة استعلامات لتحديد نطاق زمني، يجب أن تكون على دراية بالفروق في المناطق الزمنية وكيفية تخزين التواريخ.
    • يمكن أن يؤثر استخدام CURRENT_DATE على الوقت الحالي في المنطقة الزمنية الافتراضية لخادم قاعدة البيانات.
  4. تحسين الأداء:

    • لتحسين أداء الاستعلامات التي تتعامل مع تواريخ، يمكن استخدام فهرس على العمود الزمني.
    • تحسين الأداء يعتبر أمرًا مهمًا خاصةً إذا كانت الجداول ذات حجم كبير.

باستخدام هذه المعلومات وفهمها، يمكنك كتابة استعلامات قوية وفعّالة لاسترجاع البيانات المرغوبة من قاعدة البيانات الخاصة بك.

زر الذهاب إلى الأعلى