Get the difference in days between 2 dates in Essbase 9.3.1

How to calculate to get the difference in days between 2 dates in the format day of Essbase 9.3.1.la is 20090101 (yyyymmdd). If 2010907-20100917 = 10 days.
Start and end dates may extend over several years.

@DateDiff does not exist in the 9.3.1 I think. With this assumption...

Could you use the CDF 'Functions of Date'? According to the docs (I've never used it):
@JdaysOffset - returns the number of days between the firstDate and the secondDate.

See samplecode.oracle.com for the CDF. Just search for CDF and you will find it on the second page (I think) of the FMCS.

Or see this thread for another approach that I think the CDF under the covers: Re: Formate Date.

Of course, you could spend to 11 for DateDiff. :)

Kind regards

Cameron Lackpour

Tags: Business Intelligence

Similar Questions

  • find the difference in days between two dates

    Hello world

    I'm trying to find out the difference in days between two dates and the execution of the query that I'm passing

    SELECT TO_char(sysdate, 'dd/mm/yyyy') - TO_char('15/11/2011', 'dd/mm/yyyy') DAYS FROM DUAL

    the error I get is

    ORA-01722: invalid number
    01722 00000 - "invalid number."
    * Cause:
    * Action:

    Could someone please help.

    Thanks in advance

    user10636796 wrote:
    Hello world

    Thanks a lot for all the replies. I am trying to apply it in a statement to my table like this

    SELECT trunc (sysdate) - TO_char (date_last_recommended, ' dd/mm/yyyy') DAYS OF recommendation;

    SELECT trunc (sysdate) - TRUNC (date_last_recommended) DAYS OF recommendation;

  • Calculate the difference in days between two Dates

    Hello

    I'm trying to understand how to calculate the difference in days between two dates using JavaScript in LiveCycle. (Minimum = JavaScript knowledge)

    Where 'Start_Date' and 'Current_Date' are the names of the two dates in the palette of the hierarchy. (the two Date/time field)

    * Current date is using the object > value > execution property > current Date/time

    I need a text or number field showing the difference in days. (Difference_in_Days)

    I noticed the following code is pretty standard among other responses:

    var

    Start_date = new Date (Start_Date);

    var

    Current_Date = new Date (Current_Date);

    var

    nAgeMilliseconds = Current_Date.getTime) - Start_date.getTime ();

    var

    nMilliSecondsPerYear = 365 * 24 * 60 * 60 * 1000 ;

    I know there is lack of code and code above are may not be not correct.

    Please notify.

    OK, that's because of the way that javascript and works of the calculate event.  The field will be filled with whatever the script resolves at the end of execution. Technically, your script does not have a value because the last thing you do is an assignment to a variable.  Change the last line as follows:

    Math.ABS ((firstDate.getTime)

    ((- secondDate.getTime (()) / (oneDay));

    (eliminate the variable assignment) and get rid of the app.alert.  Your script will "return" (have) regardless of the value of calculation from the East and which will be stored in the field.

  • Calculation of the difference in days between two Dates

    Hi all
    I have two text fields with dates in them (P2_CURRENT_TIME_POINT_TEST_START_DATE, P2_ORGINAL_TEST_START_DATE). I would like to assign another text field (P3_TIME_FROM_INITIAL_TEST), the difference between the two days. I use a calculation page and tried suptracting them right or a date function diff, I found online, but nothing seems to work. Could someone lend me a hand on this one?

    Thank you.

    Ben,

    Sorry, please try the following:

    :P3_TIME_FROM_INITIAL_TEST := TO_DATE(:P2_CURRENT_TIME_POINT_TEST_START_DATE, 'DD-MON-YYYY') - TO_DATE(:P2_ORGINAL_TEST_START_DATE, 'DD-MON-YYYY');
    

    Remember to substitute the correct format string MON-DD-YYYY.

    Kind regards
    Dan

    http://danielmcghan.us
    http://sourceforge.NET/projects/tapigen

    You can reward this answer by marking as being useful or correct ;-)

  • Validate the difference in days between the dates in a table

    Greetings,

    I have a tabular form and date on each line. When the user saves the form, I want to sort the rows by chronological order of these dates, then go get the first and last date, calculate the difference between them and validate it.

    Does anyone know how to do?

    From now on, I came up with this:

    1. a PL/SQL Page process "before the calculations and Validations' which creates a collection and inserts lines in my tabular form (p_c004 being the date field):
    begin   
      if apex_collection.collection_exists('UPDATE_DATES') then
        apex_collection.delete_collection('UPDATE_DATES');
      end if;
    
      apex_collection.create_or_truncate_collection('UPDATE_DATES');
    
      for i in 1..apex_application.g_f04.count
      loop
          apex_collection.add_member(
              p_collection_name => 'UPDATE_DATES',
              p_c002            => htmldb_application.g_f02(i),
              p_c003            => htmldb_application.g_f03(i),
              p_c004            => htmldb_application.g_f04(i),
              p_c005            => htmldb_application.g_f05(i),
              p_c006            => htmldb_application.g_f06(i),
              p_c007            => htmldb_application.g_f07(i));
      end loop;
    end;
    and

    2. a "PL/SQL Error: Validation
    DECLARE
      l_count NUMBER;
    BEGIN
      apex_collection.sort_members('UPDATE_DATES', 4);
      l_count := apex_collection.collection_member_count('UPDATE_DATES');
    
      SELECT
      to_date(c004(l_count),'DD/MM/YYYY') - to_date(c004(1),'DD/MM/YYYY') Difference 
    
      FROM 
      apex_collections 
    
      WHERE 
      collection_name = 'UPDATE_DATES'
      and to_date(c004(l_count),'DD/MM/YYYY') - to_date(c004(1),'DD/MM/YYYY') < 30;
    
    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        raise_application_error(-20101, 'Error');
    END;
    In my understanding, the validation must sort the collection in chronological order of the dates entered, calculate the difference in days between the nearest and farthest date and return it if it's less than 30 years (the difference in days allowed). If it's more than 30 years, the SELECT statement does not return anything and my block of exceptions raises a custom error that will trigger the validation "process of refusal."

    But when I try this, it tells me c004 does not exist and if I drop the parentheses, it works, but of course, it does not give the desired result.

    Any ideas?

    Best regards
    Mathieu

    Assuming that your domain is c004 then I don't see the need for the sorting of the collection.

    You can write a simple SQL select that sent you the desired result.

    Maybe something like this not tested

    SELECT
      max(to_date(c004,'DD/MM/YYYY')) - min(to_date(c004,'DD/MM/YYYY') ) Difference
      FROM apex_collections
      WHERE collection_name = 'UPDATE_DATES';
    

    The test if the result is > 30 days. If that's what you want to know.

  • How to find the difference "within weeks" between two date values?

    Hi all

    Jdev version 11.1.1.7.1

    I used two < af:inputDate > & a < af:inputText > < af:panelFormLayout > components. My requirement is, I want to display the difference of weeks between these two day values in the inputText component when the user clicks the shape.

    Any suggestion would be appreciated.

    Kind regards


    Novel

    You can use this method to get the number of days between the day and date, and then divided by 7 to get the number of weeks

    public static long getDifferenceDaysBetweenTwoDates (d1, d2 oracle.jbo.domain.Date oracle.jbo.domain.Date)

    {

    If (d1! = null & d2! = null)

    {

    return (d1.getValue () .getTime () - d2.getValue () .getTime ()) / (24 * 60 * 60 * 1000);

    }

    return 0;

    }

    Check - http://sameh-nassar.blogspot.in/2014/10/dealing-with-dates-in-java.html

    Ashish

  • How to find the number of days between 2 date elements in the XSLT file

    Hello

    I need to calculate the number of days between 2 date elements (type xs: date). Can you please direct me as to how I can do the same thing.

    I work in 11g and using XSLT 1.0. I tried several options but yet to get a solution for this. I think that this can be done also using XSLT 2.0, but who has not worked for me.

    Can someone please help with this problem, thanks in advance!

    Thank you
    Anju

    Hello

    Have you seen this message?
    Re: Get the Date difference between 2 values of date in days

    You can do in the XSLT file since the dates are in ISO 8601 format.
    http://www.w3.org/TR/NOTE-datetime

    Here is a sample XSLT...

    
    
    
    
    
    
    
    

    The XSLT above will result in * 4 * for the next entry...

    
    2012-01-11T00:00:00.000-05:00
    2012-01-15T00:00:00.000-05:00
    
    

    You can test this example here...
    http://xslttest.appspot.com/

    I hope this helps...

    See you soon,.
    Vlad

    It is considered good etiquette to the answerers rewards with points (as "useful" - 5 pts - or 'correct' - 10pts)
    https://forums.Oracle.com/forums/Ann.jspa?annID=893

  • Dynamic calculation of the number of days between two dates in a table

    Hello

    I'm working on request where I dynamically calculate the number of days between two dates in a table.

    The calculation must be dynamic, i.e., when I recover the Start_date and End_date and move to the field following (call_duration) in the same row, the difference must be calculated dynamically in this area and make sure the field read-only.

    APEX version: 5.0

    Hi BO123,

    BO123 wrote:

    Hello

    I'm working on request where I dynamically calculate the number of days between two dates in a table.

    The calculation must be dynamic, i.e., when I recover the Start_date and End_date and move to the field following (call_duration) in the same row, the difference must be calculated dynamically in this area and make sure the field read-only.

    APEX version: 5.0

    one of the way to do this by calling ajax on change of end_date.

    See the sample code given below to fetch the resulting duration and making the field read only after calculation

    Step 1: Change your page

    under CSS-> Inline, put the code below

    .row_item_disabled {
      cursor: default;
      opacity: 0.5;
      filter: alpha(opacity=50);
      pointer-events: none;
    }
    

    Step 2: Create on demand Ajax process I say CALC_DURATION

    Please check Procces Ajax, see line 6.7 How to assign a value to the variable sent by ajax call

    Declare
      p_start_date  date;
      p_end_date    date;
      p_duration number;
    Begin
      p_start_date  := to_date(apex_application.g_x01);
      p_end_date    := to_date(apex_application.g_x02);
    
       --do your calculation and assign the output to the variable p_duration
      select p_end_date - p_start_date into p_duration
        from dual;
    
      -- return calculated duration
      sys.htp.p(p_duration);
    End;
    

    Step 3: Create the javascript function

    Change your page-> the function and the declaration of the Global Variable-> put the javascript function

    You must extract the rowid in the first place, for which you want to set the time, see line 2

    assuming f06, f07 and f08 is the id of the start date, and end date columns respectively, and duration

    See no line no 8 how set the value returned by the process of ajax at the duration column

    Replace your column to the respective column identifiers in the code below

    function f_calulate_duration(pThis) {
      var row_id  = pThis.id.substr(4);
      var start_date = $('#f06_'+row_id).val();
      apex.server.process ( "CALC_DURATION", {
      x01: start_date,x02: $(pThis).val()
    }, { success: function( pData ) {
    // set duration to duration column
    $('#f08_'+row_id).val(pData);
    // disable duration column
    $("#f08_" + row_id).attr("readonly", true).addClass('row_item_disabled'); }
    });
    }
    

    Step 4: choose the end date call the javascript function

    Go to report attributes-> edit your Date column end-> column-> Attrbiutes element attributes-> put the code below

    onchange="javascript:f_calulate_duration(this);"
    


    hope this helps you,

    Kind regards

    Jitendra

  • JavaScript anomaly on the number of days between two dates

    Use ApEx 4.0, I found an anomaly in a javascript code that calculates the number of days between two dates, the current_date and the past_date. If the past and present is the or before March 10, 2013, and the current_date lies between 10 March 2013 and November 3, 2013, the number of days will be from 1 day to less than the actual number. Between November 3, 2013 and on 4 November 2013, the increments of number by 2, then the count will be accurate from this date forward.

    Here are some examples:

    March 10, 2013 = 69 days of December 31, 2012
    March 11, 2013 = 69 days of December 31, 2012
    March 12, 2013 = 70 days of December 31, 2012

    November 3, 2013 = 306 days in December 31, 2012
    November 4, 2013 = 308 days in December 31, 2012

    11 March should be 70 and 12 March should be 71. November 3 is 307 and 4 November corrects the number of fake, which began March 11.

    Change the past_date to March 10, 2013 produces the following:

    March 10, 2013 = 0 days of March 10, 2013
    March 11, 2013 = 0 days of March 10, 2013
    March 12, 2013 = 1 days of March 10, 2013

    But change the past_date to 11 March 2013, product of the correct numbers:

    March 11, 2013 = 0 days of March 11, 2013
    March 12, 2013 = 1 days of March 11, 2013
    March 13, 2013 = 2 days of March 11, 2013

    I would certainly all help to determine the cause of this anomaly. Here's the javascript code:

    var w1 = ($v ("P48_PAST_DATE"));
    W1 = (w1.toString ());
    vmon var = (w1.substr (3.3));
    vyr var = (w1.substr (7));
    var r = (vyr.length);
    If (r == 2)
    vyr. = (parseFloat (vyr) + 2000);
    vday var = (w1.substr (0.2));
    var y = (vmon.concat ("", vday, ",", vyr));
    y = Date.parse (y);

    var w2 = ($v ("P48_CURRENT_DATE"));
    var vmon2 = (w2.substr (3.3));
    var vyr2 = (w2.substr (7));
    var vday2 = (w2.substr (0.2));
    var x = (vmon2.concat ("", vday2, ",", vyr2));
    x = Date.parse (x);

    var numdays = (x - y);
    numdays = (Math.floor(numdays / 86400000));
    $s ("P48_NUMBEROFDAYS", numdays);

    Did you google for something like "javascript number of days between two dates. I think you will find the explanation to this observation:

    This method does not work correctly if there is an advanced economies jump between the two dates.

    There are examples available to calculate the difference between two dates.

  • to calculate the number of days between 2 dates

    Hi all


    I need to calculate the number of days between 2 dates.
    Y at - it no oracle built on that basis.



    Thanks in advance
    Kind regards

    Nick

    user646786 wrote:
    Hello

    Thanks a lot its really useful, but I must make a correction, I just want weekdays rather working days

    As already said, there are many examples on the forum of the calculation of the working days or the days of the week or whatever you want between certain dates of restrictions. You will need to have a go at adapting what has already been given before and then when you get stuck, come here and your postcode, and someone will take a look for you.

  • To find the months and days between 2 dates

    Hello

    I want to find the months and days between 2 dates.

    For example.

    1 - Date: August 25, 2013

    2 - Date: October 23, 2013

    If we consider each month 30 days, it should give

    August 25, 2013 to August 30, 2013 = 6 days

    01-Sep-2013-30-Sep-2013 = 1 month

    October 23, 2013 to October 30, 2013 = 8 days

    Total = 1 month and 14 days.

    Kindly help as soon as possible.

    Thanks and greetings

    Suresh

    Assuming that d2 > d1,.

    where d)

    Select sysdate d1, sysdate + 56 double d2

    Union all select to_date (March 1, 2013 ',' dd-mon-yyyy "") d1, to_date (March 31, 2013 ',' dd-mon-yyyy ') d2 double

    Union all select to_date (5 February 2013 ',' dd-mon-yyyy ') d1, to_date (March 31, 2013 ',' dd-mon-yyyy "") double d2

    Union all select to_date (February 25, 2013 ',' dd-mon-yyyy "") d1, to_date (March 23, 2013 ',' dd-mon-yyyy ') d2 double

    Union all select to_date (February 25, 2013 ',' dd-mon-yyyy ') d1, to_date (March 31, 2013 ',' dd-mon-yyyy "") double d2

    Union all select to_date (August 2, 2013 ',' dd-mon-yyyy "") d1, to_date (29 October 2013 ',' dd-mon-yyyy ') d2 double

    Union all select to_date (February 1, 2013 ',' dd-mon-yyyy "") d1, to_date (May 31, 2013 ',' dd-mon-yyyy ') d2 double

    Union all select to_date (25 August 2013 ',' dd-mon-yyyy "") d1, to_date ('03-Sep-2013', 'Mon-dd-yyyy') d2 double

    Union all select to_date (July 30, 2013 ',' dd-mon-yyyy "") d1, to_date (August 31, 2013 ',' dd-mon-yyyy ') d2 double

    Union all select to_date (July 31, 2013 ',' dd-mon-yyyy ') d1, to_date (August 30, 2013 ',' dd-mon-yyyy "") double d2

    Union all select to_date (July 31, 2013 ',' dd-mon-yyyy ') d1, to_date (3 August 2013 ',' dd-mon-yyyy "") double d2

    Union all select to_date (3 July 2013 ',' dd-mon-yyyy "") d1, to_date (August 31, 2013 ',' dd-mon-yyyy ') d2 double

    Union all select to_date ('31-08-2013', ' dd-mm-yyyy'), to_date('05-10-2013','dd-mm-yyyy') of the double

    Union all select to_date ('05-02-2013', ' dd-mm-yyyy'), to_date('31-03-2013','dd-mm-yyyy') of the double

    Union all select to_date ('05-02-2013', ' dd-mm-yyyy'), to_date('05-03-2013','dd-mm-yyyy') of the double

    Union all select to_date ('05-02-2013', ' dd-mm-yyyy'), to_date('05-02-2013','dd-mm-yyyy') of the double

    )

    Select d1, d2,

    1 + 30 * trunc (months_between (d2, d1)) + LESS (extract (day of d2), 30)-LESS (excerpt (d1 day), 30)

    + CASE when extracted (d2 day)< extract(day="" from="" d1)="" then="" 30="" else="" 0="" end ="">

    d

    D1 D2 DAYSBETWEEN

    ----------- ----------- -----------

    October 10, 2013 5 December 2013 56

    March 1, 2013 30 March 31, 2013

    5 February 2013 March 31, 2013 56

    February 25, 2013 March 23, 2013 29

    February 25, 2013 March 31, 2013 36

    August 2, 2013 29 October 2013 88

    February 1, 2013 may 31, 2013 120

    August 25, 2013 03 - Sep-2013 9

    July 30, 2013 31 August 31, 2013

    July 31, 2013 August 30, 2013 31

    July 31, 2013 3 August 2013 4

    July 3, 2013 August 31, 2013 58

    31 August 2013 5 October 2013 36

    5 February 2013 March 31, 2013 56

    5 February 2013 March 5, 2013 31

    February 5, 2013 February 5, 2013 1

    In my view, which corresponds to your rules.

  • Calculate the number of days between two dates

    Hello

    Can someone help please change my formcalc script to calculate the number of working days between two date fields.  My script currently calculates the total number of days between two dates, including the weekends which must be excluded from the total.

    If

    (HasValue (Start_Date1) & HasValue (End_Date1)) then

    $

    = Date2Num (End_Date1, "YYYY-MM-DD" "en_IE") - Date2Num (Start_Date1, "YYYY-MM-DD" "en_IE") + 1

    on the other

    ""

    endif

    Any help will be most appreciated.

    Thank you.

    Check...

    (1) you said that you put the script on the event «days1» calculate My sample imitates the variable names used in the original message, "Start_Date1" and "End_Date1". If the names of variables for the start and end dates are different, you will need to modify the script to account for these names.

    (2) the Date2Num functions in the calculation of the "totalDays" use the date format "YYYY-MM-DD". If your date habits differ from "YYYY-MM-DD" FormCalc will complain.

    Steve

  • Dynamically calculate the number of days between two dates and amounts of split

    Hello

    I have searched for a solution for this, but had no success.
    I need to show the amounts broken down by days.

    I have a table that has an amount column and start and end dates.

    I need to write a query so that the amounts will be broken evenly based on the number of days between the start date and end date.

    For example, for this line.
    insert into my_test values (' 1, '' 3-mar-2010, ' 7 - mar - 2010 ", 1000);

    the query returns this (split $1,000 over 5 days)


    ID Date amount
    1 ' 3-mar-2010' 200,00
    1 ' 4-mar-2010' 200,00
    1 ' 5-mar-2010' 200,00
    1 ' 6-mar-2010' 200,00
    1 ' 7-mar-2010' 200,00



    create table my_test)
    ID number (10),
    start_date date,
    End_date date,
    amount number (10.2)
    );


    Select * from my_test

    insert into my_test values (' 1, '' 3-mar-2010, ' 7 - mar - 2010 ", 1000);
    insert into my_test values (2, 10-mar-2010 ", 19-mar-2010", 2000);
    insert into my_test values (3, 20-mar-2010 ',' 21-mar-2010, 5000);



    Thanks in advance.

    Hello

    One way is to join a Meter of Table , a table, or (more often) a set of results includes a line for eery number 1, 2, 3,... until the maximum number of times you need to divide a line.
    For example:

    WITH     cntr     AS
    (
         SELECT     LEVEL - 1     AS n
         FROM     (  SELECT  MAX (end_date - start_date)     AS max_day_cnt
                 FROM        my_test
              )
         CONNECT BY     LEVEL <= 1 + max_day_cnt
    )
    SELECT       t.id
    ,       t.start_date + c.n                    AS dt
    ,       t.amount / (t.end_date + 1 - t.start_date)     AS amt
    FROM       my_test      t
    JOIN       cntr            c     ON     c.n <= t.end_date - t.start_date
    ORDER BY  id
    ,            dt
    ;
    

    This assumes that all dates have the same number of hours, minutes, and seconds, as is the case in your sample data.
    If this isn't the case, then use TRUNC (start_date) and TRUNC (end_date) instead of start_date and end_date or post some sample data and results if some lines do not represent a whole number of days.

  • Dates of the fortnight of days between two dates

    Hello

    I want to show every fortnight dates based on the date, to date and the day of week (sunday, monday...)

    Input parameters
    Date: 31/05/2011
    To date: 30/06/2011
    day of week: Thursday

    Output
    06/02/2011
    16/06/2011
    30/06/2011


    Input parameters
    Date: 25/06/2011
    To date: 30/06/2011
    day of week: Monday

    Output
    27/06/2011

    can someone help me?

    Published by: user10594152 on May 30, 2011 22:10

    Published by: user10594152 on May 30, 2011 22:19

    Hello

    Here's one way:

    WITH     parameters     AS
    (
         SELECT     DATE '2011-05-31'     AS start_date
         ,     DATE '2011-06-30'     AS end_date
         ,     'Thursday'          AS day_o_week
         FROM     dual
    )
    ,     got_dt     AS
    (
         SELECT     end_date
         ,     NEXT_DAY ( start_date - 1
                    , day_o_week
                    ) + (14 * (LEVEL - 1))     AS dt
         FROM     parameters
         CONNECT BY     LEVEL     <= CEIL     ( (end_date - start_date)
                             / 14
                             )
    )
    SELECT     dt
    FROM     got_dt
    WHERE     dt     <= end_date
    ;
    

    This ID on NLS_DATE_LANGUAGE load. If you do not what it is, you can change the sub-quewry like this:

    WITH     parameters     AS
    (
         SELECT     DATE '2011-06-25'     AS start_date
         ,     DATE '2011-06-30'     AS end_date
         ,     TO_CHAR ( DATE '2011-05-30'     -- or any Monday
                   , 'Day'
                   )          AS day_o_week
         FROM     dual
    ) ...
    

    Published by: Frank Kulash, 30 May 2011 13:13
    Adding a warning about NLS_DATE_LANGUAGE

  • How to get the difference in Date in years, months and days

    Select Sysdate-Birth_date from Employees;
    the query returns the number of days between two dates
    I want to convert this number in years, months and days
    Can someone help me please

    Hoek wrote:
    Try:

    SQL> with t as (
    2  select to_date('01-01-1980', 'dd-mm-yyyy') birthdate
    3  ,      to_date('05-05-2010', 'dd-mm-yyyy') today
    4  from   dual
    5  )
    6  --
    7  --
    8  --
    9  select extract(year from today)-extract(year from birthdate) years
    10  ,      extract(month from today)-extract(month from birthdate) months
    11  ,      extract(day from today)-extract(day from birthdate) days
    12  from   t;
    
    YEARS     MONTHS       DAYS
    ---------- ---------- ----------
    30          4          4
    
    1 row selected.
    

    (May need some adjustments, possibly using the LARGEST, but currently not as long)

    Indeed, a few adjustments...

    SQL> ed
    Wrote file afiedt.buf
    
      1  with t as (
      2    select to_date('31-01-2009', 'dd-mm-yyyy') birthdate
      3    ,      to_date('28-02-2010', 'dd-mm-yyyy') today
      4    from   dual
      5    )
      6  --
      7  --
      8  --
      9  select extract(year from today)-extract(year from birthdate) years
     10  ,      extract(month from today)-extract(month from birthdate) months
     11  ,      extract(day from today)-extract(day from birthdate) days
     12* from   t
    SQL> /
    
         YEARS     MONTHS       DAYS
    ---------- ---------- ----------
             1          1         -3
    
    SQL>
    

    Maybe something like this?

    SQL> ed
    Wrote file afiedt.buf
    
      1  with t as (select to_date('17-nov-2006','dd-mon-yyyy') as c_start_date, to_date('21-jan-2008','dd-mon-yyyy') as c_end_date from dual union all
      2             select to_date('21-nov-2006','dd-mon-yyyy'), to_date('17-feb-2008','dd-mon-yyyy') from dual union all
      3             select to_date('31-jan-2009','dd-mon-yyyy'), to_date('28-feb-2010','dd-mon-yyyy') from dual union all
      4             select to_date('21-jun-2006','dd-mon-yyyy'), to_date('17-jul-2008','dd-mon-yyyy') from dual
      5             )
      6  -- end of test data
      7  select c_start_date, c_end_date
      8        ,trunc(months_between(c_end_date, c_start_date) / 12) as yrs
      9        ,trunc(mod(months_between(c_end_date, c_start_date), 12)) as mnths
     10        ,trunc(c_end_date - add_months(c_start_date, trunc(months_between(c_end_date, c_start_date)))) as dys
     11* from t
    SQL> /
    
    C_START_DATE        C_END_DATE                 YRS      MNTHS        DYS
    ------------------- ------------------- ---------- ---------- ----------
    17/11/2006 00:00:00 21/01/2008 00:00:00          1          2          4
    21/11/2006 00:00:00 17/02/2008 00:00:00          1          2         27
    31/01/2009 00:00:00 28/02/2010 00:00:00          1          1          0
    21/06/2006 00:00:00 17/07/2008 00:00:00          2          0         26
    

Maybe you are looking for

  • possible virus. pop up "Hello, new user.

    When you open safari I get pop up "Hello, new user", which I have to close it before you continue. possible virus?

  • Keyboard comes out on my new Thinkpad Edge

    My wife has just received its new Thinkpad Edge (0196-26U 13 "screen, Intel processor, matte black). While not as energetic as our boosted T61 or T400, it is much lighter and adapts to its needs. Most of the keys on the keyboard feels good, but our m

  • Problem installing Windows 7 Lenovo Z710

    Welcome, I have a problem with my new Lenovo Z710. I bought it with no OS and I would like to install Microsoft Windows 7 Home Premium 64 - bit SP1 OEM DVDs. But when I turn on the laptop, it closes almost immediately. The screen is black (no logo no

  • How do I turn off the fn + esc, displaying system information

    I reversed fn keys in the bios to facilitate the use of the volume and brightness buttons, however the only key where I don't want the behavior of the fn is the ESC key. Whenever I use this key, it shows the systemInfo, because this is the default va

  • No sound after upgrade windows 7

    I have no sound on my all-in-one averatec after doing the upgrade. After spending hours on troubleshooting it keeps saying that windows audio and generator endpoint audio windows must work and we're not! OK, I'm at the end of my rope... Help, please!