البرمجة

تحويل أوقات التواريخ إلى منتصف الليل في SQL

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

لتحقيق هذا الهدف، يمكننا استخدام الدالة CONVERT لتحويل التواريخ الحالية إلى سلسلة نصية تحتوي على التواريخ المرغوبة. هنا يأتي الاستعلام الذي يقوم بذلك:

sql
SELECT CONVERT(VARCHAR, CONVERT(DATETIME, CONVERT(VARCHAR, YourDateTimeColumn, 101), 101), 120) AS FormattedDateTime FROM YourTable;

يقوم هذا الاستعلام بتحويل الحقل YourDateTimeColumn إلى سلسلة نصية باستخدام تنسيق 101، الذي يعيد التاريخ في الصيغة MM/DD/YYYY، ثم يحول هذه السلسلة إلى نوع DATETIME مرة أخرى باستخدام تنسيق 101. أخيرًا، يتم استخدام تنسيق 120 للحصول على الناتج النهائي في الصيغة المطلوبة MM/DD/YYYY HH:MI:SS.

يرجى استبدال YourDateTimeColumn و YourTable بالأسماء الفعلية لحقل الوقت والجدول في قاعدة البيانات الخاصة بك.

بهذا الشكل، ستحصل على نتائج متوقعة مع جميع الأوقات المحددة لتكون منتصف الليل (12:00:00 AM) دون الحاجة إلى استخدام T-SQL أو تعريف متغيرات.

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

تعمل الاستعلام السابق على تحويل الأوقات في حقل YourDateTimeColumn إلى منتصف الليل (12:00:00 AM) دون تغيير في التاريخ. دعونا نوسع على ذلك لفهم المزيد من التفاصيل حول الاستعلام والأدوات التي تم استخدامها:

  1. استخدام CONVERT:

    • الجزء الأول من CONVERT: CONVERT(VARCHAR, YourDateTimeColumn, 101) يقوم بتحويل التواريخ إلى سلسلة نصية باستخدام تنسيق 101، الذي يُظهر التاريخ في الصيغة MM/DD/YYYY.
    • الجزء الثاني من CONVERT: CONVERT(DATETIME, CONVERT(VARCHAR, YourDateTimeColumn, 101), 101) يقوم بتحويل السلسلة النصية المستخرجة في الخطوة السابقة إلى نوع DATETIME باستخدام نفس التنسيق 101.
  2. استخدام العبارة AS:

    • AS FormattedDateTime تستخدم لإعادة تسمية العمود الناتج من الاستعلام إلى FormattedDateTime. يمكنك استخدام أي اسم تفضله للعمود.
  3. استخدام العبارة FROM:

    • FROM YourTable تحدد الجدول الذي يتم استرجاع البيانات منه. يجب استبدال YourTable بالجدول الفعلي الذي يحتوي على حقل YourDateTimeColumn.

باستخدام هذا الاستعلام، ستحصل على نتائج تظهر التواريخ مع أوقاتها المعدلة لتكون منتصف الليل (12:00:00 AM)، وذلك دون الحاجة إلى استخدام T-SQL أو إعلان متغيرات إضافية. يُظهر هذا النهج كفاءة اللغة SQL في إجراء تحويلات متقدمة ودقيقة على البيانات.

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