1. قبل تعلم تنسيق التواريخ في MySQL: الأساسيات
إدارة بيانات التواريخ في قاعدة البيانات تلعب دورًا حاسمًا في كل نظام. في MySQL، التخزين الدقيق والتنسيق السليم أمر أساسي. هنا، سنقدم الأساسيات حول كيفية تخزين وعرض التواريخ، ونشرح دالة DATE_FORMAT، والتي مفيدة لتنسيق مخرجات التواريخ.
1.1 أنواع التواريخ في MySQL وميزاتها
يوفر MySQL عدة أنواع بيانات للتعامل مع التواريخ والأوقات. فهم حالات الاستخدام الخاصة بها يساعدك في اختيار النوع المناسب وتحسين أداء قاعدة البيانات.
- نوع DATE يخزن التواريخ بتنسيق
YYYY-MM-DD. مناسب لبيانات التواريخ البسيطة فقط (مثل أعياد الميلاد أو تواريخ الأحداث). مثال:2024-10-19 - نوع DATETIME يخزن التاريخ والوقت بتنسيق
YYYY-MM-DD HH:MM:SS. مفيد للسجلات أو السجلات حيث يُطلب الوقت. مثال:2024-10-19 15:30:45 - نوع TIMESTAMP يخزن البيانات كطابع زمني UNIX (عدد الثواني منذ 1 يناير 1970) ويُستخدم غالبًا في الأنظمة التي تمتد عبر مناطق زمنية مختلفة. يمكنك استرجاع الطابع الزمني الحالي باستخدام
CURRENT_TIMESTAMP.
اختيار النوع المناسب للتاريخ بناءً على متطلبات تطبيقك أمر حاسم للدقة وكفاءة الاستعلامات.
1.2 الفرق بين التخزين والعرض
عندما يخزن MySQL التواريخ، يستخدم تنسيقًا قياسيًا. ومع ذلك، غالبًا ما يحتاج المستخدمون إلى عرض التواريخ بطريقة أكثر قابلية للقراءة أو محلية. هنا تأتي دالة DATE_FORMAT—تسمح لك بإخراج البيانات المخزنة بتنسيق مخصص.
في القسم التالي، سننظر في كيفية عمل DATE_FORMAT والطرق العملية لاستخدامها.

2. الاستخدام الأساسي لدالة DATE_FORMAT
تُستخدم دالة DATE_FORMAT لتنسيق التواريخ المخزنة إلى التنسيق المخرج المطلوب. باستخدام محددات التنسيق المرنة، يمكنك عرض التواريخ بأنماط متنوعة.
2.1 بناء الجملة لـ DATE_FORMAT
DATE_FORMAT(date, format)
date: قيمة التاريخ التي تريد تنسيقها (DATE، DATETIME، TIMESTAMP، إلخ).format: سلسلة تحدد تنسيق المخرجات، باستخدام محددات التنسيق مع رمز%.
على سبيل المثال، هذا الاستعلام يحول تاريخًا إلى تنسيق YYYY/MM/DD:
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
النتيجة:
2024/10/19
2.2 محددات التنسيق الشائعة
تدعم دالة DATE_FORMAT العديد من محددات التنسيق لتخصيص مخرجات التواريخ والأوقات. إليك بعض الشائعة:
%Y: السنة بأربعة أرقام (مثل، 2024)%m: الشهر بأرقامين (01–12)%d: اليوم بأرقامين (01–31)%W: اسم يوم الأسبوع (مثل، السبت)%H: الساعة بتنسيق 24 ساعة (00–23)%i: الدقائق (00–59)%s: الثواني (00–59)
على سبيل المثال، الاستعلام التالي يخرج اسم يوم الأسبوع مع السنة والشهر واليوم:
SELECT DATE_FORMAT('2024-10-19', '%W, %Y-%m-%d');
النتيجة:
Saturday, 2024-10-19
2.3 المخرجات بتنسيق ياباني
يمكنك أيضًا استخدام DATE_FORMAT للمخرجات المحلية. على سبيل المثال، هذا الاستعلام يعيد التاريخ بتنسيق ياباني YYYY年MM月DD日:
SELECT DATE_FORMAT('2024-10-19', '%Y年%m月%d日');
النتيجة:
2024年10月19日
يُستخدم هذا التنسيق عادةً في التقارير اليابانية والفواتير والوثائق الرسمية.
3. تقنيات DATE_FORMAT المتقدمة
تصبح DATE_FORMAT أكثر قوة عند دمجها مع دوال MySQL الأخرى. دعونا ننظر في بعض التقنيات المفيدة للتعامل مع عمليات التواريخ.
3.1 الدمج مع دوال التواريخ الأخرى
يمكنك دمج DATE_FORMAT مع دوال مثل DATE_ADD و DATE_SUB لحسابات التواريخ الديناميكية.
مثال: إضافة شهر واحد إلى تاريخ وتنسيقه
SELECT DATE_FORMAT(DATE_ADD('2024-10-19', INTERVAL 1 MONTH), '%Y-%m-%d');
النتيجة:
2024-11-19
هذا مفيد لتوليد تقارير ديناميكية ومعالجة التحديثات القائمة على التواريخ.
3.2 الاستخدام مع STR_TO_DATE
تُحول دالة STR_TO_DATE سلسلة إلى نوع تاريخ. عند دمجها مع DATE_FORMAT، يمكنك تحليل السلاسل إلى بيانات تاريخ صالحة ثم تنسيقها كما هو مطلوب.
مثال: تحويل سلسلة نصية إلى تاريخ وتطبيق التنسيق
SELECT DATE_FORMAT(STR_TO_DATE('2024年10月19日', '%Y年%c月%e日'), '%Y/%m/%d');
النتيجة:
2024/10/19
يتيح لك هذا التعامل مع التواريخ المعقدة القائمة على السلاسل النصية وتنسيقها بشكل صحيح.

4. تنسيقات التواريخ الشائعة في العالم الحقيقي
إليك بعض تنسيقات التواريخ المستخدمة بشكل متكرر في التطبيقات التجارية والنظامية.
4.1 التاريخ مع الشرطات المائلة
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
النتيجة:
2024/10/19
يُستخدم هذا التنسيق على نطاق واسع في نماذج الويب وواجهات المستخدم.
4.2 تنسيق ISO 8601
SELECT DATE_FORMAT('2024-10-19', '%Y-%m-%d');
النتيجة:
2024-10-19
ISO 8601 هو المعيار الدولي ومثالي لتبادل البيانات بين الأنظمة.
4.3 عرض اسم اليوم والشهر
SELECT DATE_FORMAT('2024-10-19', '%M %W');
النتيجة:
October Saturday
هذا مفيد لجدولة الأحداث وعروض التقويم.
5. الخاتمة
دالة DATE_FORMAT هي أداة قوية لتنسيق التواريخ بمرونة في MySQL. من التنسيق البسيط إلى حالات الاستخدام المتقدمة المجمعة مع دوال أخرى، فهي متعددة الاستخدامات للغاية.
باستخدام دوال مثل STR_TO_DATE و DATE_ADD معًا، يمكنك تحقيق معالجة بيانات أكثر ديناميكية. طبق التقنيات المغطاة في هذه المقالة لإدارة بيانات التواريخ بكفاءة وتحسين نظامك أو تطبيقك.
استمر في الاستفادة من ميزات MySQL لتحسين عمليات قاعدة البيانات وبناء أنظمة أكثر دقة.


