PDA

View Full Version : محاسبه زمان



salimim
دوشنبه 06 خرداد 1387, 15:39 عصر
يك table شامل 2 فيلد است.
1- زمان كه به صورت متني به شكل 4 حرفي نمايش داده مي شود مثلا 1906 به مفهوم 19 و 6 دقيقه است
2- تاريخ كه ارزش عددي تاريخ فعلي است (مثلا39594 )
براي هر روز معمولا 2 ركورد ورود و خروج داريم حالا مي خوام مجموع زمان حضور در يك بازه زماني را مشخص كنم
چه روشي پيشنهاد مي كنيد؟

Arghavan_Reza
دوشنبه 06 خرداد 1387, 19:24 عصر
4 حرف 1906 را به عدد تبدیل کنید تا قابل محاسبه شود:

LEFT('1906', 2) * 60 + RIGHT('1906', 2)

salimim
سه شنبه 07 خرداد 1387, 10:59 صبح
مشكل سر جدا كردن اعداد نيست
يه select مي خوام كه تفاضل اعداد موجود در ركورد اول كه ركورد دوم آنها با هم برابر است رو حساب كنه

Accidentboy
سه شنبه 07 خرداد 1387, 23:33 عصر
می تونید ازتابع DateDiff استفاده کنید

Arghavan_Reza
چهارشنبه 08 خرداد 1387, 18:18 عصر
اگر در یک تاریخ مشخص فقط 2 رکورد داریم، به صورت زیر بنویسید:

SELECT a.DateField,
(LEFT(a.TimeField, 2) * 60 + RIGHT(a.TimeField, 2))
- (LEFT(b.TimeField, 2) * 60 + RIGHT(b.TimeField, 2))
FROM Table1 a
JOIN Table1 b
ON a.DateField = b.DateField
وگرنه ، به جز این 2 فیلد، فیلدهای دیگری هم لازم است تا بتوان از دستورات استاندارد SQL استفاده نمود.
اگر نیست کمی کار مشکل میشه ولی با نوشتن SP می توان.