counting the days between two dates

I have 3 columns in my table

date of purchase date sold days
computer 24 April 09-11 May 09


How can I write that a sql statement will help me to create a new column days and days between date bought and sold


Thank you

872959 wrote:
I have 3 columns in my table

date of purchase date sold days
computer 24 April 09-11 May 09

How can I write that a sql statement will help me to create a new column days and days between date bought and sold

Thank you

just subtract two dates & the difference will be in units of days

SQL > select to_date('11-MAY-09','DD-MON-YY') - double TO_DATE('24-APR-09','DD-MON-YY');

TO_DATE('11-MAY-09','DD-MON-YY')-TO_DATE('24-APR-09','DD-MON-YY')
-----------------------------------------------------------------
17

Published by: sb92075 on July 19, 2011 10:26

Tags: Database

Similar Questions

  • Good count of days between two dates

    Hi, I have two variables V_ DATE_OUT and V_DATE_IN, which accepts two dates in the format "mm/dd/yyyy hh24:mi:ss.  I want to know what days are covered between (inclusively), expressed in fmDay.  I have this request:

    SELECT

       UPPER( to_char( :V_DATE_OUT + (level-1), 'fmDAY')) theday ,: V_DATE_OUT + (level-1) thedate

    DE double

    CONNECT LEVEL < = :V_DATE_IN :V_DATE_OUT + 1

    If for example, I have V_DATE_OUT value = 01/04/2014 16:07 and V_DATE_IN = 07/01/2014 16:08, then I'll have a correct output which is:

    THEDAY SUBSIST

    SATURDAY

    04/01/2014-16:07SUNDAY04/01/2014-16:07MONDAY04/01/2014-16:07TUESDAY04/01/2014-16:07

    However, when I change my V_DATE_IN value = 07/01/2014 16:06, become within 24 hours of the previous day, I get a result like this:

    THEDAY SUBSIST

    SATURDAY

    04/01/2014-16:07
    SUNDAY04/01/2014-16:07
    MONDAY04/01/2014-16:07

    Now, how I revise my request as well as the day that corresponds to V_DATE_IN, which is 01/07/2014 (TUESDAY) will be included in the result of my query?  I hope you get my point.  Thanks in advance.

    You were almost there, just a little trick:

    SQL > with dt as)
    2. Select
    3 TO_DATE (January 4, 2014 16:07 ',' dd/mm/yyyy hh24:mi:ss') dt_out,.
    4 --> - TO_DATE (January 7, 2014 16:08 ',' dd/mm/yyyy hh24:mi:ss') dt_in
    5 TO_DATE (January 7, 2014 16:06 ',' dd/mm/yyyy hh24:mi:ss') dt_in
    6 double
    7)
    8. Select
    9 UPPER (to_char (dt_out + (level 1), 'fmDAY')) theday, dt_out + subsist (level 1)
    10 DT
    11. connect by level<= (trunc(dt_in)="" -="">

    SUBSIST OF HEADS
    --------- ---------
    SUNDAY, JANUARY 4, 14
    MONDAY, JANUARY 5, 14
    TUESDAY, JANUARY 6, 14
    WEDNESDAY, JANUARY 7, 14

    Check the above query. All your scenarios test correctly and let me know if no door.

    And don't forget - TO_CHAR dates is made only for the purposes of display.

    Arithmetic operations on Dates should be as it is and not after their character conversion.

  • Calculate the hours between two dates

    Hello

    I have a requirement to count the hours with 2 given timestamps, something like:
    SQL> select ((to_date('22-oct-2012 13:00:00','dd-mon-yyyy hh24:mi:ss') - to_date('20-oct-2012 13:00:00','dd-mon-yyyy hh24:mi:ss'))*24) B from dual ;
    
             B
    ----------
            48
    However, I wish it would be that simple. I just need to count the hours between two timestamps for the hours of work for example, 08:00 - 17:00, MONDAY to Friday (excluding weekends).
    So lets say I have to count the hours between two dates above the result should be 18 hours not 48 (4 hours on 20/oct, 9 hours on 21/oct to 5 hours 22/oct).
    How can I achieve this? Any idea will be useful.

    Thank you

    My query generates a list of all the hours between the start and end time, filters on the hours that are outside of the hours of work and then account for the remaining lines. Change that to partial hours must just be a case of replace the two occurrences of 1/24 with 24/01/60, then - as say you - Division COUNT (*) by 60.

    There may be performance issues using techniques of generation of line like this, if you put this in a query involving the joining of several lines of other tables (for example where the dates of beginning and end are derived from several employees?) or in several days. If you don't find it then count the number of whole days (taking weekends into account) between dates and work on the partial days after that it could be better. This would probably involve a lot of statements of case (which I don't have time to test it now).

    Ben

  • Days between two dates given

    Hi all

    I need the days between two dates given.

    Select to_date('25-mar-2014','dd-mon-yyyy') start_date, end_date to_date('30-mar-2014','dd-mon-yyyy')

    of the double

    Desired output:

    25

    26

    27

    28

    29

    30

    Thanks in advance.

    Kind regards

    Afzal.

    Select the level - 1 desired_output + to_number (to_char (start_date, 'dd'))

    of (to_date('25-mar-2014','dd-mon-yyyy') select start_date, end_date to_date('30-mar-2014','dd-mon-yyyy'))

    of the double

    )

    connect by level<=  end_date="" -="" start_date="" +="">

    DESIRED_OUTPUT
    25
    26
    27
    28
    29
    30

    Concerning

    Etbin

  • How to find days between two dates in days

    Hi, I want to get the days between two dates, expressed in days, how can I do this?  For example, I date i.e. 1 October 10, 2013 (Thursday) and 2 as October 13, 2013 (Sunday).  How can I get a production of:

    Thursday, Friday, Saturday and Sunday, which are the days between Oct. 10-13, 2013.  I hope you understand my point.  Thank you

    You can try something like this

    CURSOR LOAD_PROF is

    SELECT load_prof1, v_time_profile_day

    OF load_profile_test

    WHERE profile_day IN (select TO_CHAR(:day1+level-1,'Day')

    of the double

    connect by level<>

    );

    Kind regards

    S Pax

  • 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.

  • 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

  • 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.

  • 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

  • How to find the difference between two dates in the presentation layer

    Hi gurus,

    Hello to everyone. Today, I came with the new requirement.


    I need to know the difference between a date and the current date in the formula column application presentation layer.by.



    Thank you and best regards,
    Prates

    Hi Navin,

    TIMESTAMPDIFF function first determines the timestamp component that corresponds to the specified interval setting. For example, SQL_TSI_DAY corresponds to the day component and SQL_TSI_MONTH corresponds to the component "month".

    If you want to display the difference between two dates in days using SQL_TSI_DAY, unlike butterflies SQL_TSI_MONTH and so on...

    hope you understand...

    Award points and to close the debate, if your question is answered.

    See you soon,.
    Aravind

  • Behavior of days between two dates

    Hello!
    If anyone can help? ... with differences in Date? :

    All I want is to calculate the number of days between two dates:

    InitDate has been entered as 01/10/2010 planning, to recover is 20101001
    HireDate was entered into the 1980-10-01 planning, to recover is 19801001

    I tried

    NumDays = @DATEDIFF (InitDate, HireDate, DP_DAY);

    but give me only 0 and -1.



    When I try the regular difference:

    NumDays = InitDate - HireDate;

    He returned to 30,000 (which in the example is 20101001-19801001) - which should not.


    I use Essbase/Planning 11.1.1.2, I tried also to break dates in years and months using INT and operations, but when I want to get the calendar days he is ugly. The two dates live in the same block.

    Someone at - it an idea?

    Thank you very much!

    Hello
    Here's a piece of code in my trunk of code which may help you. This assumes you have string CDF pack (https://www.samplecode.oracle.com/tracker/tracking/linkid/prpl1004/remcurreport/true/template/ViewIssue.vm/id/S441/nbrresults/9)

    var y1, y2, m1, m2, d1, d2, difx1, difx2;

    FIX (SOLUTION YOUR MEMBERS HERE)
    "BLOCK MEMBER")

    Y1=@round ("Date of 1" / 10000,0);
    Y2=@round ("Date 2" / 10000,0);
    M1=@round (("Date 1"-y1*10000)/100, 0);
    M2=@round (("Date 2"-y2*10000)/100, 0);
    D1 = ' Date of 1 "-(y1*10000+m1*100);"»
    D2 = "Date 2"-(y2*10000+m2*100); "»

    difx1=@TODATEEX ("mm/dd/yyyy",
    @JconcatStrings (@LIST (@JgetStringFromDouble (m2,@_false,@_false), ' / ', @JgetStringFromDouble (d2,@_false,@_false), ' / ', @JgetStringFromDouble (y2,@_false,@_false)))
    )
    ) ;
    difx2 = @TODATEEX ("mm/dd/yyyy", @JconcatStrings (@LIST)
    @JgetStringFromDouble (m1,@_false,@_false), ' / '.
    @JgetStringFromDouble (d1,@_false,@_false), ' / '.
    @JgetStringFromDouble (y1,@_false,@_false))
    )
    );

    diff=@DateDiff (difx2, difx1, DP_DAY);
    )
    ENDFIX

    See you soon,.
    Alp

  • County of days between two dates without weekend

    Hello
    I need a solution in the query or another thread, which returns the number of days between two dates without considering the weekend (Saturday and Sunday), I have a column of type Date, and return need in the form of a column HH hours and days in another column.

    Concerning
    Jonas

    Hi and welcome to the forum.

    Don't forget you can do a search on this forum.
    Your question has been asked before.

    Some other tips:

    http://asktom.Oracle.com/pls/asktom/asktom.download_file?p_file=6551242712657900129
    http://asktom.Oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:185012348071

  • Find the difference between two date and time

    Hi friends,

    I wanted to find the difference between two date and time, but my qury is slightest error "invalid number."

    select sql_step_num,proc_name,run_seqno,start_date,end_date,(to_char(start_date,'HH24-MI-SS') - to_char(end_date,'HH24-MI-SS') ) as ed  
    from eval.EVAL_RUNTIME_DETAILS
    where trunc(start_date) = trunc(sysdate) 
    order by sql_step_num;

    You try to get the feel between two char strings.
    And more difference between two dates gives a NUMBER of days.
    Try this:

    select sql_step_num,proc_name,run_seqno,start_date,end_date,numtodsinterval(end_date-start_date,'DAY') as ed
    from eval.EVAL_RUNTIME_DETAILS
    where trunc(start_date) = trunc(sysdate)
    order by sql_step_num;
    
  • Display the months between two dates

    Hello:
    I need all the months between two dates. I entered two dates as January 15, 2001 and 2011-mar-03. I want the result as below.

    JANUARY 15, 2011 - JANUARY 31, 2011
    February 1, 2011 - February 28, 2011
    MARCH 1, 2011 - MARCH 3, 2011

    I held this result of sql query in oracle. Could you please suggest me?
    Thanks in advance.
    Abhishek
    SELECT     GREATEST(st, ADD_MONTHS(TRUNC(st, 'MONTH'), (LEVEL - 1))) dt,
               LEAST(ed, LAST_DAY(ADD_MONTHS(TRUNC(st, 'MONTH'), (LEVEL - 1)))) ld
          FROM (SELECT DATE '2011-01-15' AS st, DATE '2011-03-03' AS ed
                  FROM DUAL)
    CONNECT BY LEVEL <= MONTHS_BETWEEN(TRUNC(ed, 'MONTH'), TRUNC(st, 'MONTH')) + 1
      ORDER BY 1;
    
    DT                       LD
    ------------------------ ------------------------
    15.01.2011 00:00:00      31.01.2011 00:00:00
    01.02.2011 00:00:00      28.02.2011 00:00:00
    01.03.2011 00:00:00      03.03.2011 00:00:00
    

    HTH, Urs

Maybe you are looking for

  • 4524 ENVY: Envy 4524 habit of scanning

    Hello I recently changed my ISP and they gave me a new router. I set the router upward and printers on wifi and everything works fine, except for scanning. The scanner works very well using a generic scanner software but is not a very user-friendly s

  • Satellite U400-18E (PSU44E) - searching for original BIOS file

    My bios crashed. I'm looking for a bios file for Toshiba Satellite U400-18E (PSU44E). Toshiba site offers me only update the bios, but I need the bios file. There is no information what kind of motherboard in my Toshiba. According to the information

  • How to upgrade to win 7 64 bit

    I just installed win 7 32 bit, but now I found that I have to install win 7 64 bit. How can I upgrade? In addition, my laptop's Mac Pro 13 inch Mid 2012.

  • EA2700 disable SSID broadcast

    I am the latest firmware of the EA2700, but why I can not find it is turn off the broadcast SSID function?

  • Laserje CP2025n: Cannot enter the secret menu on the printer HP Laserjet CP2025n range

    I need to replace making paper rolls in the printer. I found countless videos and instructions on how to enter the secret menu for ultimatly choose "Pickup rollers" option to block in place. The combination is by pressing the arrow to the LEFT and th