Convert Varchar datatype into datetime

c# ile sql serverdan sorgularımızda eğer bir datetime türünden parametre ile sorgulatıyorsak şu hatayı almamız çok muhtemeldir.

“The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.”

bu hatayı ben date time türündeki verimi sorgu içinde varchar tipine dönüştürerek pass geçmiş bulunmaktayım performans ve diğer olayları bir yana bırakardak sadece kodun çalışması için yapılabilecek bir işlem olduğunu düşünmekteyim daha fazlasını araştırıp paylaşmak üzere .

select
            Datediff(HH,

                        cast(Convert(varchar, dateadd(dd, 1,getdate()),101) + ' '+ replace(shiftstarttime,'.',':') as datetime),

                        cast(Convert(varchar, dateadd(dd, 1,getdate()),101) + ' '+ replace(shiftendtime,'.',':') as datetime))

	     from       o_parameter


//yada

Select datediff(HH,Convert(datetime, replace(shiftstarttime,'.',':')),
Convert(datetime, replace(shiftendtime,'.',':'))) from      o_parameter

Leave a Reply