Q

# Mapping time intervals with Oracle's date arithmetic

I'm having problems mapping time intervals in a time schedule. What I'm trying to do is, given a date interval...

(Ex: Start Time - 19-09-2002 05:30; End Time - 24-09-2002 15:00), I would like to know how many minutes were used in three intervals: Working Day from 08:00 to 22:00; Working Day from 22:00 to 08:00; Non Working Day. I would like to say that with that example, I had x minutes on the first interval, w minutes on the second interval and z minutes on the third interval. What's the best way to do this?

One of Oracle's most overlooked strengths is the ability to do date arithmetic without any conversions. For example, if you take two DATE datatypes and subtract them, Oracle will tell you the difference. Then, one can use formatting to display the results in any manner you wish. So let's see how we can use this to help solve your problem.

Let's look at how we determine how many minutes were used in the first interval. We have three scenarios, the time frame starts before the interval starts, the time frame starts after the interval is over, or the time frame starts in the middle of the interval. Assume time_start is a variable which holds the start time, time_end is a variable which holds the end time, inteval_start is the start of the interval, and interval_end is a variable which holds the end of the interval. The variable total_minutes will hold the total number of minutes spent in the interval.

```If time_start < interval_start then
-- time started before the interval begin
total_minutes = time_end - interval_start;
-- check for a negative value. if negative,
-- set to zero
if total_minutes < 0 then total_minutes=0;
else if time_start > interval_end then
-- time started after interval ended
-- so no time spent in this interval
total_minutes = 0;
else
-- time started in the middle of the interval
-- two choices now, time ends at the end of the
-- interval or time ends before the end of the
-- interval
if time_end < interval_end then
-- time spent total in this interval
total_minutes = time_end - time_start;
else
-- only take time from start to interval end
total_minutes = interval_end - time_start;
```

So we now need to convert this to SQL statements. Our IF-THEN choices will be replaced by DECODE statements. To test for less-than in our DECODE statement, we will use the SIGN function.

```SELECT
DECODE(SIGN(time_start-interval_start),-1,DECODE(SIGN(time_end-interval_start),-1,0,time_end-interval_start)),
DECODE(SIGN(interval_end-time_start),-1,0,
DECODE(SIGN(time_end-interval-end),-1,time_end-time_start,interval_end-time_start)))
FROM dual;
```

Hopefully, you can see how I was able to use DECODEs to make IF-THEN decisions and the SIGN function to test for inequalities. The number returned will be a floating point number. The integer portion is the number of days. The fractional portion is the fraction of a day. So to get this converted to minutes, just multiply this number by 1440 (24 hours * 60 minutes).

This can get quite messy, I agree. So you may wish to code this as a PL/SQL function and have the function return the number of minutes.

#### For More Information

This was last published in September 2002

## Content

Find more PRO+ content and other member only offers, here.

#### Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

#### Start the conversation

Send me notifications when other members comment.

## SearchDataManagement

• ### With better scaling, semantic technology knocks on enterprise's door

Cambridge Semantics CTO Sean Martin says better scalability can lead to richer representations of data. Such advances are behind ...

• ### Big data management and analytics weather tumult -- with more in store

Cloud had a big impact on big data management and analytics last year. Machine learning and streaming designs will contribute to ...

• ### Embedded analytics to feel widest impact of machine learning projects

Ovum analyst Tony Baer discusses machine learning tools, IoT-driven streaming analytics and Hadoop in the cloud, all of which ...

## SearchBusinessAnalytics

• ### Efforts to monetize data should be built for the long haul

Most companies have data monetization opportunities they could exploit, experts say. But a clear strategy and long-term plan are ...

• ### Debate over big data and privacy is just getting started

For years, the tension between privacy and big data has been apparent, but with emerging technologies generating huge amounts of ...

• ### Missions for monetizing data need lift from upfront groundwork

Organizations launching data monetization strategies should factor some key initial steps into their plans to develop ...

## SearchSAP

• ### SAP HANA, express edition makes HANA easier for non-SAP developers

Relaxed RAM and licensing requirements and the ability to run on local machines could help popularize the HANA in-memory platform...

• ### SAP futurists name five future technology trends to plan for now

Three SAP futurists explain what future technology trends in augmented reality, blockchain, AI, robotics, and contingent labor ...

• ### Abakus acquisition beefs up SAP Hybris marketing portfolio

SAP acquires Abakus marketing measurement software for SAP Hybris marketing suite; openSAP adds new courses for S/4HANA, data ...

## SearchSQLServer

• ### Options for scaling out SQL Server applications to boost workloads

Scaling out a database to meet the needs of a heavy processing workload can be a challenge. Here are details on the SQL Server ...

• ### Four trends that will impact SQL Server DBAs in 2017

Flash storage adoption, cloud computing's growth, Linux's increased importance and broader big data integration are a few trends ...

• ### DATEADD and DATEDIFF SQL functions for datetime values

DATEADD and DATEDIFF SQL functions allow you to easily perform calculations, like adding a time interval from a datetime value. ...

## TheServerSide

• ### Is JSON and XML your REST performance bottleneck?

Learn how ASCII encoding formats like JSON and REST can adversely impact server application performance compared with emerging ...

• ### Making multi-cloud deployment a reality at Netflix with Spinnaker

Learn how Netflix leveraged automation and Spinnaker to perform 4,000 multi-cloud deployments per day.

• ### The benefits of Java microservices in a Docker and DevOps world

To seasoned developers, microservices may sound like SOA by another name. But Java microservices apps delivered via Docker ...

## SearchDataCenter

• ### HPE-SimpliVity deal raises support, price and development questions

With HPE's buy of No. 2 SimpliVity -- the first big deal in the HCI space -- IT pros see a more robust offering, but also higher ...

• ### Converged infrastructure drop-off doesn't mean data center death

Traditional converged infrastructure has been supplanted by hyper-converged infrastructure and cloud computing, but it remains a ...

• ### New options to evolve your data backup and recovery plan

The server backup market first evolved to protect VMs, but now it's undergoing another transformation. Find out how it's evolved ...

## SearchContentManagement

• ### Why SharePoint Framework could benefit business, not just developers

SharePoint Framework heralds a new, mobile-friendly, low-code era for Microsoft, which may give some organizations without .NET ...

• ### Using Microsoft MyAnalytics to improve workers' time management

Microsoft MyAnalytics has been hailed as the next great thing for analyzing worker productivity. But how can employees be assured...

• ### Is the Drupal content management system right for your business?

The open source Drupal content management system offers users responsive design and WYSIWYG content and web development tools, as...

## SearchFinancialApplications

• ### ADP acquires performance coaching and employee engagement software

The Marcus Buckingham Company's cloud-based performance management and employee engagement software is set to be integrated into ...

• ### Six keys to creating strong data-security measures

The rush to embrace digital technologies can put organizations at extreme risk. Here are six foundations for creating an ...

• ### Group-chat software sees explosive growth and intense competition

Microsoft Teams and Workplace by Facebook are facing off against rivals such as HipChat and Slack in a high-stakes competition ...

Close