generations of months using the sql query

Hello

Based on the input of date parameter, I need display every month in the current year and last year.

For example, suppose that my setting date is December 5, 14 ', I need the output below.

JANUARY

FEBRUARY

MARCH

APRIL

MAY

JUNE

JULY

AUGUST

SEPTEMBER

OCTOBER

NOVEMBER

DECEMBER

JANUARY

FEBRUARY

MARCH

APRIL

PEUT

Until the month of May and the month last year. I came with the request. Please find the following query.

Select to_char (add_months (trunc(sysdate,'year'), level-1), 'MONTH') mth

of the double

connect by level < = 12

Union of all the

Select to_char (to_date (ddate, 'MM'), 'MONTH') month

(select 1 + rownum - 1 ddate

from user_objects

where (1 + rownum - 1) < = to_number (to_char (to_date ('12-05-14', ' dd-mm-yy'), 'mm')));

But I don't want to use the data user_objects dictionary. Can you please guide how to achieve this output, or can u give me some other request too if possible.

Thank you

Siva

Try the below

SELECT TO_CHAR (ADD_MONTHS (ADD_MONTHS (TRUNC (TO_DATE(:date1,'DD-MM-YY'), 'MM'),

((- MONTHS_BETWEEN (trunc (to_date(:date1,'DD-mm-YY'), 'MM'), trunc (to_date(:date1,'DD-mm-YY'), 'YY')) + 12)).

(LEVEL-1))

, 'MONTHS '.

'NLS_DATE_LANGUAGE = ENGLISH') FROM dual months_between

CONNECT BY LEVEL<=>

Tags: Database

Similar Questions

  • How to select only the part by using the sql query

    Hello

    I have the task to retrieve only the integral of the input text by using the sql query.

    The entry is as follows

    Entry for the price setting

    $12.5 (FYI without space)

    $ 12.5 (FYI single space)

    $ 12.5 (double space FYI)

    $12.5 (FYI multiple space)

    $12.5 (FYI multiple space)

    Output expected of 12.5

    The price is the type varchar2 column in the store_price table.

    Please let me know how to achieve this.

    Thanks in advance.

    If this is always the case that you get a $ followed by a number of places, you can use something like:

    Select to_number (ltrim ('$ 12.5',' $')) DOUBLE

    or

    SELECT ltrim ('$ 12.5',' $') OF double

    but take care of your nls_numeric_character settings if they are defined so that, for example, a comma is the decimal separator, you will have a problem.

    HTH

  • Dependencies of object database by using the SQL query?

    Hi guys,.

    I just see the nice feature to discover the database object dependencies in the APEX (generator application-> app 123-> utilities-> database object dependencies).

    Is there a way to get this dependencies just with a SQL query? Also should I calculate a process in order to get the current dependencies? In APEX, you press a calculate button before you can see the dependencies.

    Thanks in advance and greetings from the Germany

    Steven

    After you import the app Builder application APEX 4500, I saw that the Start button the following process:

    wwv_flow_theme_manager.find_object_dependencies (p_flow_id =>: fb_flow_id, p_page_id-online null);

    In my example I can't use it, only the APEX_050000 user has privileges to use, and you must grant the privileges of your schema, so if you want to use it inside your application. My application must be independent of the schema and the specific database.

    Also it is not recommended to use this procedure because it is one of the procedures not supported that are only used by oracle.

  • Change the font color in a report by using the SQL query

    Hello

    I'm changing the font color based using a BOX the query in the form below:
    select "ORDER_ID", 
    "ORDER_REFERENCE",
    "ORDER_DATE",
    "ORDER_SOURCE",
    "TOTAL_DISCOUNT",
    "DELIVERY_TYPE",
    "PICKUP_DATE",
    case
         when order_status = 1 then '<font color="red">'|| order_status||'</font>'
         else
         '<font color="blue">'||order_status||'</font>'
    end order_staus,
    "DELIVERY_STATUS",
    "USER_ID",
    "CUSTOMER_ID",
    "SITE_ID"
    from "ORDERS" 
     
    I can get this working by selecting the Standard report column in the type of the column header . However this to say that I can't use the LOV LOV options involve removing the HTML characters.

    Is there a way I can conditionally change the font with the above query and use LOV as well? Thank you.

    Environment

    Apex 4.1.1 to apex.oracle.com
    Theme 13

    Published by: taepodong on June 3, 2012 07:28

    I'm sure that not looking the application form first before posting this question.

    Your solution would be:
    Please edit your report column under > report attributes > and select the property view as as a Standard report column

  • How to achieve this using the sql query?

    Hello gurus,

    I have a table like this
    id    name
    1       a
    2       b
    3       c
    4       d
    5       e
    6       f
    7       g
    8       h
    9       i
    10     j
    11     k
    12     l
    13     m
    now my result should be like this
    id    name  id   name   id   name 
    1       a     6       f      11     k
    2       b     7       g     12     l
    3       c     8       h     13     m
    4       d     9       i
    5       e     10      j
    How to achieve by sql query?

    Thank you and best regards,
    friend

    Edited by: most wanted! February 22, 2012 05:55

    Hello

    Did you mean this:

    with a as
    (select 1 id ,'a' name from dual
    union all select 2 id ,'b' name from dual
    union all select 3 id ,'c' name from dual
    union all select 4 id ,'d' name from dual
    union all select 5 id ,'e' name from dual
    union all select 6 id ,'f' name from dual
    union all select 7 id ,'g' name from dual
    union all select 8 id ,'h' name from dual
    union all select 9 id ,'i' name from dual
    union all select 10 id ,'j' name from dual
    union all select 11 id ,'k' name from dual
    union all select 12 id ,'l' name from dual
    union all select 13 id ,'m' name from dual
    )
    
    select
      id_1
      ,name_1
      ,id_2
      ,name_2
      ,id_3
      ,name_3
    
    from
      (
      select
        id id_1
        ,name name_1
        ,lead(id,5) over (order by id) id_2
        ,lead(name,5) over (order by id) name_2
        ,lead(id,10) over (order by id)  id_3
        ,lead(name,10) over (order by id) name_3
        ,rownum r
      from
        a
      )
    where
      r <=5
    
    D_1                   NAME_1 ID_2                   NAME_2 ID_3                   NAME_3
    ---------------------- ------ ---------------------- ------ ---------------------- ------
    1                      a      6                      f      11                     k
    2                      b      7                      g      12                     l
    3                      c      8                      h      13                     m
    4                      d      9                      i
    5                      e      10                     j 
    

    Kind regards

    Peter

  • Column of the row on a table (using the SQL query)

    Data in my table looks like this.

    Data in the table

    ===============

    COL_1, COL_2

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

    1 ABCD

    2 ABC

    3 ABCDE

    4             AB

    5 ABCDEFGH

    Now, he must, for the entire line, length COL_2 text exceeds 3, display the text remaining in the new line. For example, the first row (COL_1 = 1), COL_2 length is 4, so in SQL output two lines will be displayed as shown below. Also, the last row (COL_1 = 5), the length is 8, then, in SQL, output 3 lines will be displayed as below. And for the COL_1 = 2 & 4, only 1 rank will be displayed as the text COL_2 length is less than or equal to 3.

    OUTPUT

    ===============

    COL_1, COL_2

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

    1 ABC

    1             D

    2 ABC

    ABC 3

    3             DE

    4             AB

    5 ABC

    5 DEF

    5             GH

    We need to implement using SQL only.

    Hello

    the solution of etbin uses recursive subquery factoring available on Oracle 11 g 2.

    Since you have not mentioned your version I write here 2 alternatives using CONNECT BY and Xquery:

    with mydata as

    (

    Select 1 c1, c2 'ABCD' Union double all the

    Select 2, 'ABC' from dual union all

    Select 3, 'ABCDE' from dual union all

    Select option 4, "AB" dual union all

    Select 5, "ABCDEFGH" of the double

    )

    Select c1, substr (c2, level * 3-2, 3) C2

    of mydata

    connect by substr (c2, level * 3-2, 3) is not null

    and c1 = c1 prior

    and prior dbms_random.random is not null;

    C1 C2

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

    1 ABC

    0%

    2 ABC

    ABC 3

    3

    4 AB

    5 ABC

    5 DEF

    5 GH

    9 selected lines.

    with mydata as

    (

    Select 1 c1, c2 'ABCD' Union double all the

    Select 2, 'ABC' from dual union all

    Select 3, 'ABCDE' from dual union all

    Select option 4, "AB" dual union all

    Select 5, "ABCDEFGH" of the double

    )

    Select a.c1, x.c2

    of mydata one

    , xmltable ("ora: tokenize($c2,",")")

    passing regexp_replace (a.c2, '(.{1, 3}) \1 ',',') as "c2".

    path of columns c2 varchar2 (30) '.'

    ) x

    where x.c2 is not null;

    C1 C2

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

    1 ABC

    0%

    2 ABC

    ABC 3

    3

    4 AB

    5 ABC

    5 DEF

    5 GH

    9 selected lines.

    Edit: corrected the Xquery solution using a simplified regexp_replace.

    Kind regards.

    Alberto

  • How to get the reconciliation AD event data using the SQL query.

    Hi all
    I was trying to get all the recon data to target AD Recon of IOM db, but it seems that at the OIM 11 g we have recon not given in the tables: UCR, CRE, etc.. Use tables "RECON_"... ', my question is all no bady has example query to extract data from recon tables?
    The best
    MP

    It should be a matter of linking your reconciliation table of user AD (early RA_) with the RECON_EVENTS of RE_KEY table.

    In my case, I have user OID reconciliation (so my RA_ table will be different to yours) and can use something like:

    SELECT RECON_EVENTS. RE_STATUS, RECON_EVENTS RA_OIDUSER5.*, RA_OIDUSER5 WHERE RECON_EVENTS. RE_KEY = RA_OIDUSER5. RE_KEY;

    Of course, then depends on what information you want to filter and recover.

  • Given multiple options to get filled by using the SQL query

    I have the following data in the table.

    I want to fill the column custid with a few conditions.

    (1) If a client is on a loan account as custid must get filled. (for example: 124)
    (2) if the multiples are on a single loan account then

    (a) if one of the clients has rolename = "w1" then it must be filled. (for example: 125)
    (b) If several customers a rolename = "w1" then custid minimum should get populated(eg:123)
    (c) If none of the clients has rolename = "w1" then custid minimum should get populated(eg:126)




    LOANNO ROLENAME CUSTID
    123 X 1
    123 2 W1
    123 3 W1
    124 Y 4
    5 125
    125 6 W1
    7 126
    8 126
    9 126


    And my output looks like

    LOANNO ROLENAME CUSTID
    123 2 W1
    124 Y 4
    125 6 W1
    7 126


    I tried the departure from

    SELECT ACCNO, ROLENAME, MIN (CUSTID)
    FROM TABLENAME
    ACCNO GROUP, ROLENAME
    HAVING ROLENAME = "W1".

    How to all conditions.
    Could you please help in this?
    I tried again on that.

    Thanks in advance.

    Concerning
    KVB

    Hello

    I see now: you do not want the Group BY accno both rolename; that would produce a line of output for each combination separate accno / rolename. You want only one line of output for each separate accno.
    One way to do that is a Query of Top - N , like this:

    WITH     got_r_num     AS
    (
         SELECT     accno, rolename, custid
         ,     ROW_NUMBER () OVER ( PARTITION BY  accno
                                   ORDER BY          CASE
                                                 WHEN  rolename = 'W1'
                                         THEN  1
                                         ELSE  2
                                     END
                           )    AS r_num
         FROM    table1
    )
    SELECT       accno, rolename, custid
    FROM       got_r_num
    WHERE       r_num     = 1
    ;
    

    You could do it with GROUP BY, but it's messy:

    SELECT    accno
    ,       MIN (rolename) KEEP ( DENSE_RANK
                                           FIRST
                              ORDER BY  CASE
                                             WHEN  rolename = 'W1'
                                   THEN  1
                                   ELSE  2
                               END
                        ,         custid
                         )         AS display_rolename
    ,       MIN (custid)   KEEP ( DENSE_RANK
                                        FIRST
                           ORDER BY  CASE
                                             WHEN  rolename = 'W1'
                                   THEN  1
                                   ELSE  2
                               END
                         )         AS display_custid
    FROM       table1
    GROUP BY  accno
    ;
    
  • APEX: Use the SQL query in the APEX_MAIL package

    Hi all
    I'm creating an application in which I want to extract records from table and send it to the user. Please help me on this.

    Thank you
    Martin

    Hello I am,.

    You can see the code below.
    DECLARE
    l_body_html CLOB.
    l_body CLOB.
    BEGIN
    l_body: = 'Hello Daniel. "

    l_body_html: = '

    ';

    C1 in (select distinct (act_name), act_desc, act_steps, reboot_date servername HWC_CHK_SCHEDUELE where chk_name =: P2_SELECT_CHECKLIST and reboot_date =: P2_REBOOT_DATE)
    loop

    l_body_html: = l_body_html | '

    ' || '' || '' || '' || '';

    end loop;

    l_body_html: = l_body_html | '

    Name of the lawLaw on ESCRMeasures ActName of the serverRestart Date
    ' || C1.act_name | '' || C1.act_desc | '' || C1.act_steps | '' || C1. SERVER_NAME. '' || C1.reboot_date | '
    ';
    l_body_html: = l_body_html | '
    ' || "Thanks & Regards | '
    ';
    l_body_html: = l_body_html | "Patel Dr.Jiten";

    () apex_mail. Send
    p_to =>: P2_EMAIL,
    P_FROM-online "[email protected]."
    p_body-online l_body,
    p_body_html-online l_body_html,
    p_subj => "You must work on ABC named Checklist");
    END;

  • The SQL query result

    Hello

    Here's my data in the table for itm_id = 1000

    ITM_IDADD_ATRDEL_ATR
    1000a: b:c:d
    1000d
    1000d
    1000e:f:g
    1000e:f:g

    My required return is (a: b:c:d) d = a: b: c + d = a: = a +(e:f:g) b:c:d: b:c:d:e:f:g-(e:f:g) = a: b: c; d

    Output ITM_ID

    1000A: b:c:d

    can we get the output using the sql query above?

    I had tried with union but could not able to get the required result.

    Please let me know if there is no possible solution

    Thank you

    David

    I have the impression that you are looking to treat each character in 'RTA' as an individual item and then add or delete depending on whether they are an ADD_ATR or DEL_ATR.

    So something like...

    SQL > ed
    A written file afiedt.buf

    1 with t as (select 1000 as itm_id, ' a: b/c: some like add_atr, null as del_atr of all the double union)
    2 select 1000, null, would be "union double all the"
    3 select 1000, 'd', null of union double all the
    4 select 1000, 'e:f:g', null of union double all the
    5 select 1000, null, "e:f:g" of all the double union
    6 select 1234, null, "x: y: z" of all the double union
    7 select 1234, 'u: v: w', null of union double all the
    8 select 1234, null, 'u' of all the double union
    9 select 1234, "x: y", null of union double all the
    10. Select 1234, "x: z", null of union double all the
    11. Select 1234, 'p', the double null
    12            )
    13-
    14. end of test data
    15-
    16. Select itm_id
    17, cast (listagg(atr,':') within the Group (order by atr) as varchar2 (40)) output
    18 of)
    19 select itm_id
    20, atr
    21, sum (add_del)
    22 of)
    23 select itm_id
    24, coalesce(add_atr,del_atr) as full_atr
    25, decode (add_atr, null,-1, 1) as add_del
    26, regexp_substr (coalesce(add_atr,del_atr),'[^:] +', 1, level) RTA
    27, flat surface that l
    28 t
    29 to connect by level<= (length(coalesce(add_atr,del_atr)="">
    30 and itm_id = prior itm_id
    31 and coalesce(add_atr,del_atr) = prior coalesce(add_atr,del_atr)
    sys_guid() 32 and prior is not null
    33             )
    34 group by itm_id, atr
    35 having sum (add_del) > 0
    36       )
    37 * group by itm_id
    SQL > /.

    ITM_ID OUTPUT
    ---------- ----------------------------------------
    1000A: b:c:d
    1234 p:v:w:x

    that just shows how stupidly data is as it should be divided every thing in the different elements so that you can then group to determine how many of each, you have (and whether to add or subtract) and then re - combine results again in a combined string.

  • How to know the status of the process flow using a SQL query

    Hello
    I want to know the final status of a process flow after execution by using a sql query?

    The available entries are:
    -Item_Key
    -Process_Flow_Package_Name
    -Process_Flow_Name

    I ran the process flow using a WF_Engine.LaunchProcess ()procedure, but I was not able to know the status of the process flow.


    Is it possible to know the status of the process flow?

    using a procedure or an sql query?

    Thanks in advance,
    SriGP.

    Once the process is completed, or not, you can see the status by calling:

    UAS (your_OWF_shema) .wf_engine. ItemStatus()

  • Use the DECODE and RIGHTEOUS in the sql query

    Friends...

    Could someone help with DECODE and sql RIGHT or similar function?

    I'm doing below in the SQL query

    1. DECODE any process with s.process = 1234 to replace with JAVA
    2. RIGHT: Removes all characters after ' @' sign

    SQL query:

    SELECT s.osuser, s.machine, DECODE(s.process, '1234', 'JAVA', right(s.process,charindex('@',s.process)-1)) s.process FROM v$session; 

    for example

    EXAMPLES of data

    User, machine, process

    John, mac1, 1234

    Mike, mac2, 567@mac2

    Julie, mac3, 890


    The result of the SAMPLE:

    User, machine, process

    John, mac1, JAVA

    Mike, mac2, 567

    Julie, mac3, 890

    Thanks in advance

    Thanks guys... I am overwhelmed with all these answers and support on this forum, I received...

    I have combined Solomon and Frank response to achieve accurate result...

    with the answers of Solomon he displayed empty process when there is ' @' sign

    Frank's response showed it process with sign @ the end... so I added '-1' in the end.»

    SELECT s.osuser,

    s.machine,

    DECODE)

    s.Process,

    "1234", "JAVA",

    substr)

    s.Process,

    1,

    InStr)

    s.Process | '@',

    '@'

    ) - 1

    )

    ) process

    V $ session s

    /

  • How to get the sql query result?

    Hello

    Currently I use LV2012 to connect to an Oracle database server. After the Oracle Express and Oracle ODBC driver facilities/settings made.

    I managed to use the SQL command to query the data through my command prompt window.

    Now the problem is, how to do the same task in Labview using database connectivity tools?

    I have build a VI to query as being attached, but I have no idea of what range to use to get the result of the query.

    Please help me ~ ~

    Here is a piece of code that I use to test the SQL commands, you can use the part that retrieves the results of sql.

    It is also possible to get the rear column headers, but it's for the next lesson!

    ;-)

  • Classic report shows wrong "could not parse the SQL query: ORA-00942" error after migrating app to the new environment

    After migrating my APEX 4.1 application to a new environment, one classic report displays a "cannot parse the SQL query: ORA-00942: table or view does not exist" error when the page is displayed. Change the region to report SQL source to somehow (e.g., remove spaces, changing the order of the variables in the WHERE clause) immediately solves the problem, but by returning to the source of the region causes the report error again (the source region valid code without error, however).

    Throw the error message:

    Select v.id,

    v.Col1

    of view_vw v

    where (: P1_FILTER is null or)

    v.col2 = :P1_FILTER)

    Do not throw error:

    Select v.id,

    v.Col1

    of view_vw v

    where (:P1_FILTER is null or)

    v.col2 = :P1_FILTER)

    Changing the order of column in the report has the same effect; i.e. He arranges, but return back to the original column order causes the error to display.

    It's as if a cached result for the correct select statement used by the report is displayed. However, the application does not use the caching of page/region. Any ideas of what could be the cause?

    He solved. Ultimately, all that was necessary was to clear the DB cache using:

    alter system flush shared_pool;

  • Table error ' can not analyze the SQL query!

    Hi all

    I created a view on my database called VIEW_MEMBER_PARTIC_PROJECTS

    If I run a query showing the results of the view:

    SELECT * FROM VIEW_MEMBER_PARTIC_PROJECTS

    I get the following data

    ProjectsParticipants
    131 S
    241
    319
    43
    53
    61
    72

    Now, I wanted to represent this diagram in the APEX so I created a graphic region and entered the Source query generator and the manufacturer produces the following code

    Select null, label projects, value1 Participant link

    of "SCHEMANAME." "" VIEW_MEMBER_PARTIC_PROJECTS ".

    With this code, I get an error:

    Cannot parse the SQL query!

    Select the link null, label projects, value1 "SCHEMANAME Participant." "" VIEW_MEMBER_PARTIC_PROJECTS ".

    Some queries can be run when you run your application, if your query is syntactically correct, you can save your query without validation (see options below the source of the query).

    The code looks OK, but I do not see to save options as the error code is mentioned.

    No one knows how to fix this?

    Thank you

    JaReg wrote:

    I finally found the problem.

    I looked at the code for the view and changed the start of:

    CREATE OR REPLACE FORCE EDITIONABLE VIEW "SCHEMANAME." "" VIEW_MEMBER_PARTIC_PROJECTS "("Participant","Projects")

    AS

    TO

    CREATE OR REPLACE VIEW "SCHEMANAME." "" VIEW_REPEAT_PARATIC ".

    AS

    And that seemed to fix it. I'm not entirely sure why though.

    The view was created using the quoted identifiers for column names. This makes them sensitive and means that they must always be referenced using double quotes. In the absence of quotation marks, Oracle is not case insensitive and automatically converts all uppercase identifiers. The application of graph:

    Select the link null, label projects, value1 "SCHEMANAME Participant." "" VIEW_MEMBER_PARTIC_PROJECTS ".

    has therefore been interpreted by Oracle:

    SELECT THE LINK NULL, LABEL, VALUE1 "SCHEMANAME PARTICIPANT PROJECTS." "" VIEW_MEMBER_PARTIC_PROJECTS ".

    and PROJECTS and PARTICIPANT columns were not recognized because the columns defined for the view have been 'Participant' and 'projects '. The graphic request should have been:

    Select the link null, the label of "Projects", "Participant" value1 "SCHEMANAME." "" VIEW_MEMBER_PARTIC_PROJECTS ".

    As you have now discovered, quoted identifiers are a source of nothing but obscure bugs and should never be used for database objects. He also pointed out the reason why you should always use a standardized, form tiny, coding style as it is faster to type, easy to read and less prone to errors.

Maybe you are looking for