واجهت مشكلة في العمل اليوم. على سبيل المثال ، تحتاج إلى معرفة الأعضاء المسجلين على موقع الويب من 2007-10 إلى 2007-10-31. 31 أساسية بشكل أساسي لم يتم عرضها ، وكانت النتائج هي نفسها بعد عدة اختبارات. وجد برنامج التصحيح أن هناك مشاكل في بيان SQL.
بيان SQL كما يلي: SELECT * من userinfo حيث النظام> = '2007-10-12' والنظام <= '2007-10-31'. في البداية ، لا يوجد خطأ في عبارة SQL ، ولكن بعد قيمة الحقل المقابل في قاعدة البيانات ، فإن قيمة القيمة المحفوظة ليست نموذجًا بسيطًا للتاريخ ، ولكن شكل التاريخ+، أي: Yyyy -mm-dd hh: mm: SS في هذا الوقت متساوية. ماذا يمكنني أن أفعل؟
لا تقلق ، يوفر لنا ASP وظيفة من التاريخ والطرح لمساعدتنا على حل هذه المشكلة.
1. تاريخ إضافة
وظيفة مؤرخة
العودة إلى تاريخ الفاصل الزمني المحدد.
مؤرخة (الفاصل ، الرقم ، التاريخ)
تحتوي قواعد الدالة DateAdd على المعلمات التالية
(1) يجب أن يكون الخيار الفاصل الزمني. تشير تعبيرات السلسلة إلى الفاصل الزمني المراد إضافته. للاطلاع على القيم ، راجع جزء الإعداد.
(2) يجب على الرقم الخيار. يشير التعبير العددي إلى عدد الفواصل الزمنية المراد إضافتها. يمكن أن تكون التعبيرات العددية إيجابية (احصل على التاريخ المستقبلي) أو الرقم السلبي (احصل على التاريخ السابق).
(3) يجب أن يكون التاريخ خيارًا. قد يضيف المتغير نص تاريخ إشارة الفاصل.
يوضح:
يمكن استخدامها لإضافة أو طرح الفاصل الزمني المحدد من التاريخ مع وظيفة DateAdD. على سبيل المثال ، يمكن استخدام Dateadd لمدة 30 يومًا من يوم اليوم أو الوقت بعد 45 دقيقة من الآن. لإضافة فاصل يومي حتى الآن ، يمكنك استخدام عدد اليومية (Y) أو يوميًا (د) أو أسبوع (W) من عدد اليومية (Y) أو يوميًا (D) أو أسبوع.
وظيفة المؤرخة لا تُرجع تاريخًا غير صالح. المثال التالي سيضيف شهرًا في 31 يناير 1995:
NewDate = dateadd (M ، 1 ، 31-Jan-95)
في هذا المثال ، عاد Dateadd في 28 فبراير 1995 بدلاً من 31 فبراير 1995. إذا كان التاريخ هو 31 يناير 1996 ، فإنه يعود في 29 فبراير 1996 ، لأن عام 1996 هو سنة قفزة.
إذا كان تاريخ الحساب قبل 100 م ، فسيحدث خطأ.
إذا لم يكن الرقم قيمة نوع طويل ، فإن المنازل الأربعة الأولى وخمسة إدخالات هي أقرب عدد صحيح.
2. تخفيض التاريخ
وظيفة datediff
إرجاع الفاصل الزمني بين تاريخين.
Datediff (الفاصل الزمني ، Date1 ، Date2 [، Firstdayofweek [، Firstweekofyear]])
تحتوي القواعد النحوية لوظيفة Datediff على المعلمات التالية:
(1) يجب أن يكون الخيار الفاصل الزمني. تشير تعبيرات السلسلة إلى فترة زمنية بين Date1 و Date2. للاطلاع على القيم ، راجع جزء الإعداد.
(2) Date1 ، يجب أن يكون Date2 خيارًا. تعبير التاريخ. تاريخان للحساب.
(3) يمكن أن يكون Firstdayofwek اختياريًا. الثابت في اليوم الأول في الأسبوع المحدد. إذا لم يتم تحديد ذلك ، فإن الافتراضي هو الأحد. للاطلاع على القيم ، راجع جزء الإعداد.
(4) خيارات Firstweekofyear. حدد ثابت الأسبوع الأول من العام. إذا لم يتم تحديد ذلك ، فهو افتراضي إلى أسبوع 1 يناير. للاطلاع على القيم ، راجع جزء الإعداد.
يوضح:
يتم استخدام وظيفة Datediff لتحديد عدد الفاصل الزمني المحدد بين تاريخين. على سبيل المثال ، يمكن استخدام Datediff لحساب عدد الفرق بين الأيام بين تاريخين ، أو الرقم الأسبوعي بين اليوم واليوم الأخير من العام.
لحساب عدد الأيام بين Date1 و Date2 ، يمكنك استخدام عدد الأيام (Y) أو اليوم (د) من سنة واحدة. عندما يكون الفاصل الزمني هو عدد الأيام (W) من الأسبوع (W) ، يعيد Datediff الرقم الأسبوعي بين تاريخين. إذا كان Date1 يوم الاثنين ، يتم حساب عدد Datediff حتى تاريخ 2 قبل عدد الاثنين. تحتوي هذه النتيجة على Date2 بدون Date1. إذا كان الفاصل الزمني هو الأسبوع (WW) ، فإن وظيفة Datediff تعيد الرقم الأسبوعي بين تاريخين في جدول التقويم. يتم حساب عدد الوظائف بين Date1 و Date2. إذا كان Date2 يوم الأحد ، فسيقوم Datediff بحساب Date2 ، ولكن حتى إذا كان Date1 يوم الأحد ، فلن يتم حساب Date1.
إذا كان Date1 متأخراً عن Date2 ، فإن دالة Datediff تُرجع الأرقام السلبية.
تؤثر المعلمة FirstDayOfweek على حساب رمز الفاصل الزمني WW.
إذا كان Date1 أو Date2 هو نص تاريخ ، فستصبح السنة المحددة جزءًا ثابتًا من التاريخ. ومع ذلك ، إذا تم تضمين Date1 أو Date2 في علامات الاقتباس () وتم حذفه في السنة ، في كل مرة يتم حساب التعبير Date1 أو Date2 في الكود ، سيتم إدراج السنة الحالية. وبهذه الطريقة ، يمكنك كتابة رمز البرنامج المناسب لسنوات مختلفة.
عندما يكون الفاصل الزمني هو العام (Yyyy) ، مقارنة مع الأول من كانون الثاني (يناير) في 31 ديسمبر والعام المقبل ، على الرغم من وجود يوم واحد فقط ، يعود Datediff 1 للإشارة إلى فرق عام.