السلام عليكم ورحمة الله وبركاته
لدى إستعلام بين تاريخين يعمل مع جميع الشهور بدون اى مشاكل ونوع الحقل الخاص بالتاريخ هو Date وإستخدم لحفظه التنسيق التالى "yyyy-MM-dd"
ولكن المشكلة الوحيدة هى إذا كان التاريخ بين ( 01-02-2014 و 28-02-2014 ) اى او تاريخ بين تلك الفترة فعند إستخدامى للجزء التالى
between '2014-02-01' and '2014-02-28'
يظهر لى الخطأ التالى:
اقتباس
Msg 241, Level 16, State 1, Line 1
Conversion failed when converting date and/or time from character string.
الجملة الإستعلامية كاملة:
SELECT day_off.Emplo_ID,
Employee_Data.Emplo_Name,
Contract_Types.Contract_Type_ID,
Employee_Data.Asasy,
-- Count Works Hours
RTRIM(SUM(DATEDIFF(MINUTE, '00:00', day_off.all_day_hours)) / 60) + ':' + RIGHT('0' + RTRIM(SUM(DATEDIFF(MINUTE, '00:00', day_off.all_day_hours)) % 60), 2) AS [Total Work Hours]
FROM Employee_Data INNER JOIN Contract_Types ON Employee_Data.Contract_Type_ID = Contract_Types.Contract_Type_ID
INNER JOIN day_off ON Employee_Data.Emplo_ID = day_off.Emplo_ID
WHERE day_date BETWEEN '2014-02-01' AND '2014-02-28'
GROUP BY Employee_Data.Emplo_Name,
Contract_Types.Contract_Type_ID,
Employee_Data.Hours_Target,
Employee_Data.Asasy,
Employee_Data.Bdl_Entkal,
Employee_Data.Bdl_Food,
Employee_Data.Bdl_Call,
Employee_Data.Fellowship_Fund,
Employee_Data.Day_Work_Mony,
Employee_Data.Hour_Work_Mony,
Employee_Data.Over_Time_Stock,
Employee_Data.Work_Duty_Hours,
day_off.Emplo_ID
ORDER BY day_off.Emplo_IDملحوظة: اذا تم ازالة هذا الجزء من التقرير وهو خاص بحساب إجمالى عدد ساعات عمل الموظف يعمل التقرير بدون اى مشاكل وهذا الجزء مطلوب
-- Count Works Hours
RTRIM(SUM(DATEDIFF(MINUTE, '00:00', day_off.all_day_hours)) / 60) + ':' + RIGHT('0' + RTRIM(SUM(DATEDIFF(MINUTE, '00:00', day_off.all_day_hours)) % 60), 2) AS [Total Work Hours]فكيف يمكن حل تلك المشكلة ؟