PDA

View Full Version : سوال: جمع زمان در اسکیو ال



mohsen.nsb44
دوشنبه 14 مرداد 1392, 19:21 عصر
سلام
یه برنامه نوشتم که مشکل در جمع زمان در اسکیو ال دارم
در سی شارپ مقادیر string رو با استفاده از timeSpan میتونم جمع یا کسر کنم اما این کار رو در اسکیو ال چطور میتونم انجام بدم
مقادیر من در دیتابیسش به صورت زیر ذخیره میشوند
2:25
3:45
0:30
میخوام با استفاده از یک استور پروسیجر این مقادیر رو جمع و در کنترلی مثل گرید ویو نمایش بدم
مثل دستور زیر
select sum(num) from tb_name
خب sum l مقادیر عددی رو چاپ میکنه اما مقادیر من به صورت رشته در دیتابیس ذخیره شدند به خاطر وجود نقطه بین اعداد
شدیدا نیاز دارم تا فردا این مشکل رو حل کنم در دوران سربازی هستم و زیاد نمیتونم به اینترنت وصل بشم اگه کمکم کنید بینهایت ممنون میشم

amirsajjadi
دوشنبه 14 مرداد 1392, 23:57 عصر
باید ابتدا ساعت رو بگیری و تبدیل به عدد کنی و در 60 ضرب کنی تا به دقیقه تبدیل بشه سپس دقیقه رو هم به عدد تبدیل کنی و با ساعت جمع کنی و در آخر همه ی اینها رو با هم جمع کنی. اونوقت جمع دقایق بدست میاد.

توی این مثال t فیلدی هست که مقادیر داخل اون قرار گرفته و از نوع رشته هست. جدول هم نامش tbl هست

select SUM(SUBSTRING(t,0,CHARINDEX(':',t,0))*60+CONVERT(I NT,SUBSTRING(t,CHARINDEX(':',t,0)+1,2))) AS SumMins from tbl