How to capture the last 4 quarters (problem of Date field)

Hello
I need to list the last 4 quarters from "Q3 2008"and at the same time must not exceed sysdate.»

For example:

I have dates in the format dd/mm/yyyy

01/07/2008
01/10/2008
01/01/2009
01/04/2009
01/07/2009

Since we are in the 4th quarter of 2008, the result of this would be (07/01/2008,10/01/2008)

If we're in the 1st quarter of 2009, then would result in (07/01/2008,10/01/2008,01/01/2009)
If we're in the 2nd quarter of 2009, then would result in (07/01/2008,10/01/2008,01/01/2009,04/01/2009)
If we are in the 3rd quarter of 2009, then the result would be (10/01/2008,01/01/2009,04/01/2009,07/01/2009)

Can you please help?

Thanks in advance

Like this?

SQL> with t as (select to_date('07/01/2008','mm/dd/yyyy') as dt from dual union all
  2             select to_date('10/01/2008','mm/dd/yyyy') from dual union all
  3             select to_date('01/01/2009','mm/dd/yyyy') from dual union all
  4             select to_date('04/01/2009','mm/dd/yyyy') from dual union all
  5             select to_date('07/01/2009','mm/dd/yyyy') from dual)
  6  -- end of test data
  7  select dt
  8  from (select &req_qtr as req_qtr, &req_yr as req_yr from dual)
  9      ,t
 10  where dt between add_months(to_date(to_char(req_qtr*3,'fm09')||to_char(req_yr,'fm9999'),'MMYYYY'),-11)
 11               and last_day(to_date(to_char(req_qtr*3,'fm09')||to_char(req_yr,'fm9999'),'MMYYYY'))
 12  /
Enter value for req_qtr: 4
Enter value for req_yr: 2008
old   8: from (select &req_qtr as req_qtr, &req_yr as req_yr from dual)
new   8: from (select 4 as req_qtr, 2008 as req_yr from dual)

DT
---------
01-JUL-08
01-OCT-08

SQL> /
Enter value for req_qtr: 1
Enter value for req_yr: 2009
old   8: from (select &req_qtr as req_qtr, &req_yr as req_yr from dual)
new   8: from (select 1 as req_qtr, 2009 as req_yr from dual)

DT
---------
01-JUL-08
01-OCT-08
01-JAN-09

SQL> /
Enter value for req_qtr: 2
Enter value for req_yr: 2009
old   8: from (select &req_qtr as req_qtr, &req_yr as req_yr from dual)
new   8: from (select 2 as req_qtr, 2009 as req_yr from dual)

DT
---------
01-JUL-08
01-OCT-08
01-JAN-09
01-APR-09

SQL> /
Enter value for req_qtr: 3
Enter value for req_yr: 2009
old   8: from (select &req_qtr as req_qtr, &req_yr as req_yr from dual)
new   8: from (select 3 as req_qtr, 2009 as req_yr from dual)

DT
---------
01-OCT-08
01-JAN-09
01-APR-09
01-JUL-09

SQL>

Tags: Database

Similar Questions

  • Get the last recordset based on a Date field

    Hi all
    I have the following data set in a table
    TRACK_ID_GRP     TRACK_ID_NBR     TRACK_SAMPLE_ID     START_DATE
                   
    970150                      129700104071     64260                        8/6/2002
    970150                      229700101893     64261                        8/6/2002
    970150                     149700101893     64262                        8/6/2002
    970150                       97015011     79252                        9/19/2005
    970150                       97015023     79255                        9/19/2005
    970150                       97015013     79253                         9/19/2005
    970150                       97015021     79254                        9/19/2005
    970040                      129900105213     56155                         9/26/2000
    970040                                 1101     29841                        6/9/1998
    970040                       97004023     143349                        10/28/2008
    970040                              2101     29842                        6/9/1998
    970040                        97004021     143348                        10/28/2008
    970040                       97004011     143346                        10/28/2008
    970040                      149700101903     64196                       7/16/2002
    970040                              2301     29844                      6/9/1998
    970040                         97004013     143347                         10/28/2008
    970040                                  1301       29843                        6/9/1998
    I need to get only the records with the most recent date and I am using the following query
    SELECT t.track_id_grp, t.track_id_nbr, t.track_sample_id,
           MAX (t.start_date) OVER (PARTITION BY t.track_id_grp) AS start_date
      FROM track_table t
     WHERE t.track_id_grp IN ('970150', '970040')
    And I'm getting the following dataset
    TRACK_ID_GRP     TRACK_ID_NBR     TRACK_SAMPLE_ID     START_DATE
                   
    970040                      1.299E+11     56155     10/28/2008
    970040                      1101                     29841     10/28/2008
    970040                      97004023                     143349     10/28/2008
    970040                      2101                     29842     10/28/2008
    970040                      97004021                     143348     10/28/2008
    970040                      97004011                     143346     10/28/2008
    970040                      1.497E+11     64196     10/28/2008
    970040                      2301                     29844     10/28/2008
    970040                      97004013                     143347     10/28/2008
    970040                      1301                     29843     10/28/2008
    970150                      1.297E+11     64260     9/19/2005
    970150                      97015011                     79252     9/19/2005
    970150                      97015021                     79254     9/19/2005
    970150                      2.297E+11     64261     9/19/2005
    970150                      97015013                     79253     9/19/2005
    970150                      97015023                     79255     9/19/2005
    970150                      149700101903     64262     9/19/2005
    And I expect the following dataset
    TRACK_ID_GRP     TRACK_ID_NBR     TRACK_SAMPLE_ID     START_DATE
    970150                      97015011                             79252     9/19/2005
    970150                      97015023                             79255     9/19/2005
    970150                      97015013                             79253     9/19/2005
    970150                      97015021                             79254     9/19/2005
    970040                      97004023                             143349     10/28/2008
    970040                      97004021                             143348     10/28/2008
    970040                      97004011                             143346     10/28/2008
    970040                      97004013                             143347     10/28/2008
    I expected to get no records with the most recent date, instead, I get all records with date max inside, please need help or advice.

    Thank you

    You must wrap your query with an outer query along the lines of:

    select col1, col2, ....
    from   (select col1, col2, ...., max(date_col) over (partition by ...) max_date_col
              from   some_table)
    where  date_col = max_date_col;
    
  • How to capture the data of type string with agent script and then compared to an alarm

    Hello...

    How to capture the string with agent of script data and then create a rule to compare the string data to generate alarm?

    Thank you!...

    Start here:

    http://en.community.Dell.com/TechCenter/performance-monitoring/Foglight-administrators/w/Admins-wiki/6155.custom-script-agent-1-leverage-an-existing-monitoring-script-to-push-data-into-Foglight

  • Print last page blank, how to avoid the last page to print, using NiReport

    Hi all

    I use NIReport to generate report/Print.

    I have problem

    I have a page to print,

    I wrote until the last line

    Problem is that NEITHER report adds a new, blank page, which is not necessary.

    This problem n, t occur when we write in the last row or left white.

    Note: I also have a header and footer details

    It will be printed on the blank page.

    When NIReport understand specific text is last line of the page, then NIReport automatically add the new page in the template.

    How to avoid printing the last white page in NIReport?

    Thank you

    Mukesh Kumar

    Just a guess: you use AppendLine? If so, you can try to move on AppendText to write the line, adding of newline as the first call when you need to start a new line. AppendLine adds a new line to the report after printing the line, and this can generate a blank page if you write to the last line on the page.

  • How to find the last pasted paragraphs FMP?

    I'm sticking FMP several objects at once in a file (a file of changes to the sections containing the changebars) in the main text flow. I want a separator line to go at the end of each pasted section, so I try to insert one after the paste operation. But instead of a line between each section, all lines are added at the end of the file, after all the sections. So if there are 3 glued sections at the end of the file are three lines. My code is below, do you know how I could fix this?

    Thank you, Mark

    function copyPasteChanges (doc, chgRange) {}

    Select the section with changebar and copy it.

    doc. TextSelection = chgRange;

    doc. Copy();

    Prepare for the changes doc and paste there the modified section.

    var firstChgPgf = changesDoc.MainFlowInDoc.FirstTextFrameInFlow.LastPgf;

    var changesTloc = new TextLoc (firstChgPgf, Constants.FV_OBJ_END_OFFSET);

    var changesTRange = new TextRange (changesTloc, changesTloc);

    changesDoc.TextSelection = changesTRange;

    changesDoc.Paste ();

    To go at the end of the file again (I think)

    var lastPgf = changesDoc.MainFlowInDoc.FirstTextFrameInFlow.LastPgf;

    var dividerPgf = changesDoc.NewSeriesPgf (lastPgf);

    var TLoc = new TextLoc (dividerPgf, 0);

    changesDoc.AddText (TLoc, '_');

    }

    Hi Mark,

    The problem is that the dough does not occur when you think. The dividing line is added at the end of the file, but are not your actions of dough. Actually, I think that maybe a little random where pasta is produced, because this line:

    var changesTloc = new TextLoc (firstChgPgf, Constants.FV_OBJ_END_OFFSET);

    .. .is does not create a valid text location. You can check this by abandoning the service after:

    changesDoc.TextSelection = changesTRange;

    .. and look at where's the insertion point. It will probably be everywhere where you left it last, because the call is not valid. I can't tell you exactly why, except that it has something to do with the fact that you are using the last paragraph in the stream. There is something weird to try to define a range of full-paragraph text with the last paragraph. I'm sure it's related to how the last TFP in a stream does not show a mark of FMP, but beyond that, I don't know how to do what you're trying to do with the last paragraph.

    Having no knowledge of how do it right, any time I need to do this, I create a paragraph "dummy" at the end of the flow to fill that space strange 'last FMP", then do the work around it. In the end, I just want to remove fake TFP. I don't know if it's a good idea or not, but it's the only way I ever get it to work and it sorts the mirror how you could do this manually in the GUI.

    With this, I modified your script as follows, and it seems to work better. Note that I also modified the logic of how to find the last paragraph of the flow by writing a separate function. Your call to the 'FirstTextFrameInFlow' is OK, unless your doc begins to span several pages and/or begins with several empty pages. The function I wrote ensures that you really the last TFP in the stream.

    I hope this helps.

    Russ

    function copyPasteChanges (doc, chgRange) {}

    Select the section with changebar and copy it.

    doc. TextSelection = chgRange;

    doc. Copy();

    Prepare for the changes doc and paste there the modified section.

    var lastPgf = getLastPgf (changesDoc);

    var dummyPgf = changesDoc.NewSeriesPgf (lastPgf);

    var changesTloc = new TextLoc (dummyPgf, 0);

    var changesTRange = new TextRange (changesTloc, changesTloc);

    changesDoc.TextSelection = changesTRange;

    changesDoc.Paste ();

    To go at the end of the file again (I think)

    Don't forget that last TFP is now fake TFP

    lastPgf = getLastPgf (changesDoc);

    var dividerPgf = changesDoc.NewSeriesPgf (lastPgf.PrevPgfInFlow);

    var TLoc = new TextLoc (dividerPgf, 0);

    changesDoc.AddText (TLoc, '_');

    dummyPgf.Delete ();

    }

    function getLastPgf (doc)

    {

    textFrame var is doc. MainFlowInDoc.LastTextFrameInFlow;

    var lastPgf = textFrame.LastPgf;

    While (! lastPgf.ObjectValid () & textFrame.ObjectValid ())

    {

    textFrame = textFrame.PrevTextFrameInFlow;

    lastPgf = textFrame.LastPgf;

    }

    Return lastPgf;

    }

  • How to capture the value of type column report

    It would be a great help that you might suggest the following

    (i) Java script that I wrote on the standard status column (in a tabular report) fails.
    This happens because of the standard status column, if I use the text field then called Javascript function and showing correct results.

    Now, here, I want to know how to capture the value of the column standard report, since javascript fails due to
    the column values of standard report unrecognized.

    Example:

    Columns of the report as a table:
    ```````````````````
    Standard report column: salary
    TextField report column: new treatment
    Report column standards: difference

    I've written the javascript on column New_salary function which returns the value of the salary column to calculate the difference.

    For this column of report types, the javascript function does not work, that is to say, it does not show the difference., since it is not read
    the value of the column Salary (which is the Standard type of report column)
    Once I have change the Salary column to text (display as saved state) javascript field works fine.

    All entries on how to capture the standard value of the column, so that I can access the value of the javascript function.

    Thanks in advance
    Vijay

    Hi Vijay - I had problems with the forum as well (and my workspace OTN so)!

    You have two questions, I think.

    First of all, that the old wage is not an input element, you can not get to it by referring to an ENTRY tag. you will need to change that to something like:

    var s1 = d[k-1].firstChild.nodeValue;
    

    This means that there is nothing else in the cell apart from the text - as in < td > < table > 123. If there is something else there that stops you getting the value using the above, you can go through these nested tags referring to objects further firstChild-

    var s1 = d[k-1].firstChild.firstChild.nodeValue;
    

    As I don't see your page, you need to check yourself to see firstChild how much you need. This example assumes that you had something like: < td > < b > 123 < /b > < table >

    Second, the values of s and s1 are strings. You must convert these numbers to be able to perform calculations. You have two javascript functions to do this: ('string') parseFloat and parseInt ('string'). One contains decimals, the other is not - but know that one is not very accurate (it can change "123.456' in ' 123.455999999995' or something similar - not very good! '").

    So, your calculation should be:

    var diff = parseInt(s) - parseInt(s1);
    

    Andy

  • How to get the last date of 3 days for the current month?

    Hello. Guy

    How to get the last date of 3 days for the current month?

    MY OUTPUT WOULD LOOK LIKE THIS

    JANUARY 29, 2016

    JANUARY 30, 2016

    JANUARY 31, 2016


    GUYS HELP ME / / /...

    SQL > select last_day (sysdate) - level + 1 double connect by level<= 3="" order="" by="">

    LAST_DAY)

    ---------

    29 JANUARY 16

    30 JANUARY 16

    31 JANUARY 16

  • How to take the last 7 digits of a varchar column

    How to take the last 7 digits of a varchar2 colum

    COL1

    12345678

    12345

    1234567890123

    1234567

    Out put should be as below

    COL1

    2345678

    12345

    7890123

    1234567

    everything built in function or in any other way please

    Hello

    assuming that the entry contains only numbers, as in the example, the addition of 7 spaces to the left and selecting the 7 last characters toured:

    with dataset as

    (select col1 from column_value

    table

    (dbmsoutput_linesarray

    ("12345678"

    '12345 '.

    '1234567890123'

    "1234567".

    )

    )

    )

    Select col1

    , substr (lpad (", 7,' ') | col1-7) col1_last7

    of the dataset

    /

    COL1 COL1_LAST7

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

    12345678 2345678

    12345 12345

    1234567890123 7890123

    1234567 1234567

    Rob

  • How long is the last free trial?

    How long is the last free trial before purchising?

    The free trial for 30 days.

    Concerning

    Hervé Khare

  • How to get the last day of a month for every 2 months for a given period?

    Hello

    Can is it some please let me know how to get the last day, last day of the week, the weekend last day, last Monday, one month for every 2 months for a given period?

    Thanks in advance.

    Try the below

    SELECT LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2))) lastday.

    BOX WHEN TO_CHAR (LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2))), 'DY') = 'SAT '.

    SO LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2)))-1

    WHERE TO_CHAR (LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2))), 'DY') = 'Sun '.

    THEN LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2)))-2

    Of OTHER LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2)))

    END as lastweekday,

    BOX WHEN TO_CHAR (LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2))), 'DY') IN ('Sam', 'SUN')

    THEN LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2)))

    Of OTHER LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2)))

    -(TO_NUMBER (TO_CHAR (LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2))),' from)) - 1).

    END as lastweekendday,

    BOX WHEN TO_CHAR (LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2))), 'DY') = 'MY

    THEN LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2)))

    Of OTHER NEXT_DAY (LAST_DAY (ADD_MONTHS (TRUNC(startdate,'MM'), ((LEVEL*2)-2))), "LUN")-7

    END AS lastmonday

    FROM (SELECT SYSDATE startdate,

    SYSDATE + 300 enddate

    THE DOUBLE)

    CONNECT BY LEVEL<=>

  • How to find the last date of execution of the objects in database

    Hi all

    We're going for an upgrade of the database 11g and for the same thing, we want to know the last date of the following-

    Packages, Tables, views
    Conc. programs / value Sets / look up / profile options

    Is there a way we can find the same thing.
    The answers would be really useful.

    Kind regards
    Shruti

    So can you provide clues on how to find the last opportunity registration

    I don't think you can find such a script with having activated audit.

    Thank you
    Hussein

  • How to revive the last work, then from the APP? Or system restart?

    How to revive the last work, then from the APP? Or system restart?

    EIB zu ADOBE: "geht nicht mehr!  (this function is not longer possible)

  • How to get the last day of the week?

    HII

    I can get the week number of calendar for a given date using

    SELECT to_char (to_date('04/04/2011','MM/DD/YYYY'), 'WW') FROM dual

    can any body tell me, how to get the last day of the week?

    and the answer should be: 04/08/2011(8th april)
    Thank you
    San

    Published by: sandeep9 on April 4, 2011 03:50

    Perhaps this...

    SQL> select trunc(sysdate,'WW')+6 from dual;
    
    TRUNC(SYSDATE,'WW')+
    --------------------
    08-APR-2011 00:00:00
    
    SQL>
    
  • How to capture the values

    Hi friends,

    I came across one of the scenarios, i.e.

    In my application, I have a report page and a form page, the report and the form are based on the unique table...

    If a record is inserted medium, means it will be inserted in the report...

    in the region of report I have an button called then if I clicked the next button means a form page must open to capture all values which is inserted in the report of each field of the form...

    How to capture the values of the ratio to form shortly after clicking on the button NEXT in the region of report...

    Help me solve this question friends,

    Thank you
    Saro...

    Hello

    For the Next button , which is located in the region of report,

    change the Action: to redirect to the page and give the respective page number: (i.e.) the target...

    And specify the value of these items: what are all the elements of the target.

    with these values: describe the elements of the source where you will take the values of the corresponding points...

    Izz all wells
    GTA...

  • How to capture the value of profile in AM

    Hello

    How to capture the value of profile in AM.

    Krishna

    Here is the code that you can use

      String profileValue=  getOADBTransaction().getProfile("profile Name");
    

    Thank you
    -Anil

Maybe you are looking for

  • Lag and slow on the new iMac

    I bought an iMac nine retina 5K on a month and half ago and it's already in trouble with the slowness and delay, mostly online. Video and audio, struggle streamer and freezes often after a minute or two, sites are sometimes slow in general, Facebook

  • HP PC laptop 15-d017tu; Connectivity Bluetooth problem

    Hello, this is my product HP 15-d017tu laptop Windows 7 32-bit operating system I brought this product four months earlier of marketing that I suffered from problem of bluetooth connectivity, that this laptop is not connected with all bluetooth devic

  • DV6 - 2164ca: keyboard

    Where can I buy keys of the keyboard 'P' & 'F2 '?

  • HP 309 CD/DVD printing problem

    HP will release the studio photosmart for compatibility with snow leopard so that the CD/DVD print capability will be usable, or am I missing something?

  • sequence and presets of settings for the video of the gopro camera

    What sequence presets and settings should I choose for the project to work with my gopro cam video? the video is 1920 x 1080, 29, MOVThank you!