كيف تستخدم Datediff؟ كم يوما داخل تاريخين
سؤال
كيف تستخدم Datediff؟ كيف يمكنني جعل هذا للعمل؟ أم يجب أن أستخدم مؤرخة بشكل مختلف تمامًا؟
SELECT DATEDIFF('Started ','will_end') AS 'Duration' FROM my_table WHERE id = '110';
أحاول الحصول على إجابة ، كم عدد الأيام داخل تاريخين.
أود الحصول على aswer مثل:
المدة = 7 أيام ؛
لدي هذا النوع من قاعدة البيانات:
بدأت | سينتهي
2009-12-17 | 2009-12-24
2009-12-12 | 2009-12-26
المحلول
وضع will_end
أول، started
ثانيا:
SELECT DATEDIFF('2009-12-24', '2009-12-17')
---
7
أيضًا ، قم بإزالة الاقتباسات المفردة من أسماء الحقل:
SELECT DATEDIFF(will_end, started) AS Duration
FROM my_table
WHERE id = 110
, أو استبدلهم بالظهر:
SELECT DATEDIFF(`will_end`, `started`) AS `Duration`
FROM `my_table`
WHERE `id` = 110
نصائح أخرى
هل تحصل على ملف NULL
نتيجة؟ لديك أسماء الأعمدة في اقتباسات واحدة في استفسارك ، مما يعني أنك تمر الأوتار 'Started '
و 'will_end'
ل DATEDIFF
بدلا من قيم العمود. حاول إزالة الاقتباسات الفردية ، وسوف تبدأ في رؤية بعض النتائج:
SELECT DATEDIFF(Started, will_end) AS Duration FROM my_table WHERE id = '110';
لاحظ أن هذا سيعطيك نتيجة سلبية. للحصول على نتيجة إيجابية ، عكس ترتيب الأعمدة:
SELECT DATEDIFF(will_end, Started) AS Duration FROM my_table WHERE id = '110';
استبدل الطلب
Datediff ('Will_End' ، 'stem')
أعتقد أن هناك 3 معلمات يتم تمريرها في Datediff (DatePart ، StartDate ، enddate)
لذلك سيكون الكود الخاص بك datediff (DD ، "بدأ" ، "Will_end")