استخراج الشهر والسنة من تاريخ ووقت في SQL Server 2005

عند العمل مع قواعد البيانات، غالبًا ما تظهر حاجة للتلاعب ببيانات التاريخ والوقت لاستخراج مكونات معينة. في SQL Server 2005، تُعتبر الحاجة الشائعة هي استخراج الشهر و السنة من قيمة تاريخ ووقت وتنسيقها كسلسلة نصية، مثل ‘يناير 2008’. إذا كنت تواجه هذه التحدي، فأنت لست وحدك. دعونا نستكشف كيفية تحقيق ذلك بكفاءة.

التحدي

قد تجد أن العديد من الدوال المدمجة، مثل datepart أو convert، لا تُقدم مباشرة تنسيق الإخراج الذي ترغب فيه. قد يؤدي ذلك إلى الاعتقاد بأنه لا توجد حل سهل للحصول على الشهر والسنة بالشكل ‘يناير 2008’. ومع ذلك، هناك بالفعل طريقة لتحقيق هدفك باستخدام بناء جملة SQL.

الحل

لاستخراج الشهر و السنة من تاريخ ووقت ودمجهما معًا في سلسلة نصية منسقة واحدة، يمكنك استخدام دالة CONVERT مرتين مع استخدام دمج السلاسل النصية. إليك تحليل خطوة بخطوة للحل:

الخطوة 1: استخدام دالة CONVERT

تسمح لك دالة CONVERT في SQL Server بتغيير نوع البيانات إلى نوع آخر. لغرضنا، ستقوم بتحويل قيمة تاريخ ووقت إلى سلسلة نصية.

CONVERT(CHAR(4), date_of_birth, 100) 

تقوم هذه الشيفرة باستخراج الشهر والسنة من عمود افتراضي باسم date_of_birth. النمط 100 يمنحنا اسم الشهر الكامل.

الخطوة 2: الحصول على السنة

لاستخراج السنة، استخدم دالة CONVERT أخرى مع نمط مختلف:

CONVERT(CHAR(4), date_of_birth, 120)

وهذا سيعطيك السنة بتنسيق مكون من أربعة أرقام (مثل ‘2008’).

الخطوة 3: دمج النتائج

بمجرد أن يكون لديك الشهر والسنة بشكل منفصل، يمكنك دمجهما معًا لتكوين الإخراج المرغوب:

SELECT 
  CONVERT(CHAR(4), date_of_birth, 100) + ' ' + CONVERT(CHAR(4), date_of_birth, 120) AS MonthYear
FROM customers

استعلام المثال

إليك كيف سيبدو الاستعلام SQL الكامل لاسترجاع الشهر والسنة من عمود تاريخ ووقت باسم date_of_birth في جدول باسم customers:

SELECT 
  CONVERT(CHAR(4), date_of_birth, 100) + ' ' + CONVERT(CHAR(4), date_of_birth, 120) AS MonthYear
FROM customers

موارد إضافية

لمزيد من خيارات التنسيق وفهم دالة CONVERT، يمكنك مراجعة وثائق SQL Server الرسمية.

الخاتمة

إن استخراج وتنسيق الشهر و السنة من تاريخ ووقت في SQL Server 2005 يعد الأمر بسيطًا بمجرد أن تعرف كيف تستخدم دالة CONVERT بفعالية. باستخدام الطريقة المذكورة أعلاه، يمكنك بسهولة تجميع نتائجك حسب الشهر والسنة، مما يساعدك على إجراء تحليلات قائمة على التاريخ بكل سهولة.

الآن، يمكنك استرجاع وتنسيق قيم تاريخ ووقت الخاصة بك حسب الحاجة بكل ثقة!