How would it be possible using T-SQL to find the raw amount of time that has passed between when the job started and when the job ended?

i have used this function

datediff(ss,grn_date,GETDATE()) .

this function gets the jobs done how ever if the diffrence btw the dates is huge like grn_date is in u know 2006-1-1 then i get the error that"Arithmetic overflow error converting int to data type numeric." so now what do i do to get the values.

Recommended Answers

DateDiff returns an Int not an BigInt, that's why you get the error.

One work arround is to get the minutes and then multiple by 60, to get the seconds, like this:

ABS(CONVERT(BigInt, (DateDiff(minute, grn_date, getDate()))) * 60)

I found the answer in this forum:

Jump to Post

All 3 Replies

DateDiff returns an Int not an BigInt, that's why you get the error.

One work arround is to get the minutes and then multiple by 60, to get the seconds, like this:

ABS(CONVERT(BigInt, (DateDiff(minute, grn_date, getDate()))) * 60)

I found the answer in this forum: http://www.sqlservercentral.com/Forums/Topic964359-392-1.aspx

And here it's a more sofisticated analysis: http://sqlanywhere.blogspot.com.br/2010/10/getting-bigint-from-datediff.html

You're welcome.

Just mark the thread as solved please.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.20 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.