Solved

Time Difference

Posted on 2008-06-19
2
190 Views
Last Modified: 2010-04-06
Hi
i need to display the duration of the time from two columns.each column consists of date and time.
so in third column i need to display time difference between two columns.

i am using Asp,db2

Thank you
0
Comment
Question by:tracy_p
  • 2
2 Comments
 
LVL 18

Expert Comment

by:daveslash
ID: 21826537

Since you say that the columns contain both data and time, I'll assume they're using the datatype TIMESTAMP.

In that case, use the TIMESTAMPDIFF function.

Here's the defininition / documentation of that function.

HTH,
DaveSlash

The TIMESTAMPDIFF function returns an estimated number of intervals of the type defined by the first argument, based on the difference between two timestamps. numeric-expression The first argument must be a built-in data type of either INTEGER or SMALLINT. Valid values of interval (the first argument) are:
 
1 - Fractions of a second
2 - Seconds
4 - Minutes
8 - Hours
16 - Days
32 - Weeks
64 - Months
128 - Quarters
256 - Years 
 
string-expression
 string-expression is the result of subtracting two timestamps and converting the result to a string of length 22. The argument must be an expression that returns a value of a built-in character string or a graphic string. If string-expression is a character or graphic string, it must not be a CLOB or DBCLOB. 
 
The result of the function is an integer. If either argument can be null, the result can be null; if either argument is null, the result is the null value. 
 
The following assumptions may be used in estimating the difference: 
- there are 365 days in a year 
- there are 30 days in a month 
- there are 24 hours in a day 
- there are 60 minutes in an hour 
- there are 60 seconds in a minute
 
These assumptions are used when converting the information in the second argument, which is a timestamp duration, to the interval type specified in the first argument. The returned estimate may vary by a number of days. For example, if the number of days (interval 16) is requested for a difference in timestamps for '1997-03-01-00.00.00' and '1997-02-01-00.00.00', the result is 30. This is because the difference between the timestamps is 1 month so the assumption of 30 days in a month applies. 
 
Example - Estimate the age of employees in months.
 
SELECT
   TIMESTAMPDIFF(64,
    CAST(CURRENT_TIMESTAMP-CAST(BIRTHDATE AS TIMESTAMP) AS CHAR(22))) 
      AS AGE_IN_MONTHS 
FROM EMPLOYEE

Open in new window

0
 
LVL 18

Accepted Solution

by:
daveslash earned 500 total points
ID: 21826624

I suppose I should include the syntax of the function:

TIMESTAMPDIFF ( numeric-expression , string-expression )

0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

      Install BugTracker on Windows 2008 server Step 1:  Install windows 2008 server 32 bit OS and configure IIS. Step 2:  Install SQL server ( SQL server 2005 or SQL server 2005 Express edition. The installer for 2008  version isn’t very f…
Thoughout my experience working on eCommerce web applications I have seen applications succumbing to increased user demand and throughput. With increased loads the response times started to spike, which leads to user frustration and lost sales. I ha…
Learn how to set-up custom confirmation messages to users who complete your Wufoo form. Include inputs from fields in your form, webpage redirects, and more with Wufoo’s confirmation options.
Learn how to set-up PayPal payment integration in your Wufoo form. Allow your users to remit payment through PayPal upon completion of your online form. This is helpful for collecting membership payments, customer payments, donations, and more.

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question