PDA

View Full Version : جمع کردن فیلدهای از نوع varchar که برای زمان در نظر گرفته شده



unique1984
یک شنبه 07 اسفند 1384, 10:36 صبح
سلام
من تو برنامم می خوام مجموع زمانهایی(ساعتها) رو که از نوع varchar در نظر گرفتم رو بدست بیارم . منظورم با دستور sum اس کیو ال هستش . در ضمن من فقط می خوام این مجموع در گزارشم نشون داده بشه و من از QuickReport استفاده می کنم .آیا این کار امکان پذیره . اگه شما راه حلی دارین بفرمایین تا مشکلم حل شه . ممنون می شم.

unique1984
یک شنبه 07 اسفند 1384, 20:04 عصر
تو رو به خدا یکی جواب بده خیلی لازمش دارم

titbasoft
دوشنبه 08 اسفند 1384, 10:21 صبح
اول ساعتتون رو splite کنید بعد با استفاده از یک از روش های type casting اون رو به یک مقدار numeric تبدیل کنید و بعد از sum استفاده کنید.

unique1984
دوشنبه 08 اسفند 1384, 11:27 صبح
ببخشید من تازه کارم می شه بیشتر توضیح بدین .

titbasoft
دوشنبه 08 اسفند 1384, 13:00 عصر
شاید اگر دقیق تر می دونستم با چه ساختاری مقادیرتون رو ذخیره می کنید بهتر می تونستم کمک کنم ، اما فعلا فکر کنم از این کد بتونید استفاده کنید:



use tempdb
/*
create table test(
myCol varchar(5)
)
insert into test values('1:22')
insert into test values('0:6')
insert into test values('6:00')
insert into test values('7:22')
insert into test values('21:22')
*/
select sum (H),sum(M) from (
select
cast(substring(mycol,1,patindex('%:%',mycol)-1) as int) H,
cast(substring(mycol,patindex('%:%',mycol)+1,4) as int) M
from test
) as tmp