PDA

View Full Version : مشکل در تابع datediff



fereshte22
سه شنبه 11 اردیبهشت 1386, 16:28 عصر
سلام
من در مورد تابع datediff خیلی جستجو کردم و همه جا این تابع برای محاسبه اختلاف بین دو تا تاریخ استفاده میشد.من میخواستم بدونم که اگر در کنار تاریخ ساعت هم باشد و اتفاقا دو تا تاریخ یکسان باشند و فقط ساعت متفاوت باشد.ایا میتوانیم از این تابع برای به دست اوردن اختلاف دو تا تاریخ (که البته اینجا فقط تفاوت در ساعت است )استفاده کنیم.
(من میخواهم دو تا ساعت را با هم مقایسه کنم و بگم که اگر اختلاف دو تا ساعت از یک ساعت بیشتر بود فلان کار را انجام دهد.)
اگر راه بهتری هم سراغ دارید ممنون میشم راهنمایی کنید

linux
سه شنبه 11 اردیبهشت 1386, 18:34 عصر
سلام
من در مورد تابع datediff خیلی جستجو کردم و همه جا این تابع برای محاسبه اختلاف بین دو تا تاریخ استفاده میشد.من میخواستم بدونم که اگر در کنار تاریخ ساعت هم باشد و اتفاقا دو تا تاریخ یکسان باشند و فقط ساعت متفاوت باشد.ایا میتوانیم از این تابع برای به دست اوردن اختلاف دو تا تاریخ (که البته اینجا فقط تفاوت در ساعت است )استفاده کنیم.
(من میخواهم دو تا ساعت را با هم مقایسه کنم و بگم که اگر اختلاف دو تا ساعت از یک ساعت بیشتر بود فلان کار را انجام دهد.)
اگر راه بهتری هم سراغ دارید ممنون میشم راهنمایی کنید

می توانید از این تابع برای این منظور استفاده کنید

Alireza_Salehi
سه شنبه 11 اردیبهشت 1386, 18:36 عصر
بله انجام میده...


(http://msdn2.microsoft.com/en-us/library/ms189794.aspx)DATEDIFF (Transact-SQL) (http://msdn2.microsoft.com/en-us/library/ms189794.aspx)
(http://msdn2.microsoft.com/en-us/library/ms189794.aspx)

fereshte22
چهارشنبه 12 اردیبهشت 1386, 17:05 عصر
ببینید من مشکل اختلاف بین دو ساعت را به صورت زیر حل کردم
حالا گفتم مشکل بعدی ام را هم در همین تاپیک مطرح کنم که مربوط به همین اختلاف ساعت است ببینید من یک فیلد برای اختلاف بین دو ساعت در جدول قرار دادم تا اختلاف زمان اضافه شدن فیلد و زمان کنونی در ان قرار گیرد(که ابتدا مقداری ندارد).ودر یکی از صفحاتم میخواهم که این مقداررا محاسبه کنم و در جدول قرار دارم بعد یک کوری بسازم که رکوردهایی که این فیلد اختلاف بزرگتر از مقدار خاصی بود را حذف کندمشکلم در اپدیت کردن مقدار فیلد اختلاف است.من فکر کردم که یک حلقه while ایجاد کنم و با datareader کل جدول را بخونم و زمان شروع رابرای هر رکورد استخراج کرده و از زمان کنونی کم کنم و مقدار اختلاف دو ساعت را اپدیت کنم .ولی در پیاده سازیه این حلقه مشکل دارم .شاید هم این روش درستی برای کاری که میخواهم انجام بدهم نیست حلقه یه چیزی مثل کد زیر است




While dr.Read
ss = dr("startTime")
runLength = ss.Subtract(Now)
con.Close()
updatesql = "update sabadkharid set difrence='" & runLength.TotalHours & "'"
updatesql &= "where flag='" & 0 & "'"
cmdselect = New SqlCommand(updatesql, con)
con.Open()
cmdselect.ExecuteNonQuery()
con.Close()
con.Open()
End While
dr.Close()
con.Close()




که البته مشکل من دقیقا نمیدونم که این حلقه را چطور پیادهسازی کنم ].شما میتونید من را راهنمایی کنید؟