1st day of the year then the Monday group

Hello expert;

I have the following tables below
create table table_one
(
 v_id varchar2(60),
 close_date date
);
insert into table_one
  (v_id, close_date)
values
  ('A', to_date('1/1/2010 4:47:09 PM', 'MM/DD/YYYY HH:MI:SS:AM'));   --- First day of the year

insert into table_one
  (v_id, close_date)
values
  ('B', to_date('1/4/2010 2:47:09 PM', 'MM/DD/YYYY HH:MI:SS:AM'));   -- monday
  
  insert into table_one
  (v_id, close_date)
values
  ('C', to_date('1/11/2010 1:47:19 PM', 'MM/DD/YYYY HH:MI:SS:AM'));  -- monday
  
 insert into table_one
  (v_id, close_date)
values
  ('D', to_date('5/6/2010 5:47:09 PM', 'MM/DD/YYYY HH:MI:SS:AM'));  --- not a monday
  
 insert into table_one
  (v_id, close_date)
values
  ('E', to_date('5/3/2010 4:47:09 PM', 'MM/DD/YYYY HH:MI:SS:AM'));  ---monday
  
 insert into table_one
  (v_id, close_date)
values
  ('F', to_date('2/9/2010 5:17:09 PM', 'MM/DD/YYYY HH:MI:SS:AM'));  -- not monday
I need to modify my query below and I can't think of a good way to go about it
select t.v_id, to_char(t.close_date, 'YYYY-MM-DD') from table_one t
where t.close_date between to_date('2010/1/1', 'YYYY-MM-DD') and to_date('2010/12/31', 'YYYY-MM-DD')
group by t.v_id, to_char(t.close_date, 'YYYY-MM-DD');  
  
what I'm trying to do is in fact I want to group by only Mondays









Edited by: user13328581 on Nov 17, 2010 8:04 AM

Edited by: user13328581 on Nov 17, 2010 8:04 AM

Edited by: user13328581 on Nov 17, 2010 8:29 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
select t.v_id, to_char(t.close_date, 'YYYY-MM-DD')
  from table_one t
where t.close_date between to_date('2010/1/1', 'YYYY-MM-DD') and to_date('2010/12/31', 'YYYY-MM-DD')
and   to_char(trunc (t.close_date), 'dy' ) = 'mon'
V_ID     TO_CHAR(T.CLOSE_DATE,'YYYY-MM-DD')
B     2010-01-04
C     2010-01-11
E     2010-05-03

If you also want the first day of the year that you mentioned.

select t.v_id, to_char(t.close_date, 'YYYY-MM-DD')
  from table_one t
where t.close_date between to_date('2010/1/1', 'YYYY-MM-DD') and to_date('2010/12/31', 'YYYY-MM-DD')
and   to_char(trunc (t.close_date), 'dy' ) = 'mon'
or  extract( month from t.close_date) + extract( day from t.close_date) = 2
V_ID     TO_CHAR(T.CLOSE_DATE,'YYYY-MM-DD')
A     2010-01-01
B     2010-01-04
C     2010-01-11
E     2010-05-03

Published by: pollywog on November 17, 2010 11:38

Tags: Database

Similar Questions

  • 1st day of the month to the current date

    Hello

    I have a requirement I want to calculate

    Today's date
    1st day of Feb
    Jan, 1st day
    ----
    ----
    March 1

    month must contain only day 1 must not display 2 or 3... 31. only 1 of each must display


    If the potential revenues are added to the fact pass

    ex

    Jan 21 100

    Jan 21 200

    Jan 31 300


    Feb. 1 needs to be jan2nd + January 3 +... 31st .jan




    all can help me please

    Published by: 935667 on February 5, 2013 02:46

    Hello

    In your column of date you can try to use the formula below to achieve what you are looking for:

    TIMESTAMPADD (SQL_TSI_MONTH, 1, TIMESTAMPADD (SQL_TSI_DAY, (DAYOFMONTH ("YourDateColumn") *-1) + 1, 'YourDateColumn'))

    This will give you the first day of the next month. For example for Jan 1, Jan 2.Jan 31, the date column would show on Feb. 1.

    Thank you
    Hyder

  • 1st day of the month request for 15 months

    Hello

    I want the query with each month for the past three months and 12 months start date to the current date.

    Please help me.
    For example.
    APRIL 1, 2011
    MAY 1, 2011
    JUNE 1, 2011
    JULY 1, 2011
    AUGUST 1, 2011
    01-SEP-2011
    OCTOBER 1, 2011
    NOVEMBER 1, 2011
    DECEMBER 1, 2011
    JANUARY 1, 2012
    FEBRUARY 1, 2012
    MARCH 1, 2012
    APRIL 1, 2012
    MAY 1, 2012
    JUNE 1, 2012

    Something like

    SELECT trunc( add_months( sysdate, -4 + level ), 'MM' ) date_column
      FROM dual
    CONNECT BY level <= 15
    

    should work.

    Justin

  • Find the first day of the third quarter of next year

    Hello

    I'm writing a sql to find "the first day of the third quarter of the year (from the current year) next»

    I am able to get the first and the last day of the current quarter:

    Select trunc (sysdate, 'Q'), trunc (add_months (sysdate, + 3), 'Q')-1 double

    But, how to find the first day of the third quarter of the year next (from the current year) based on any date entry (i.e. sysdate)

    for example if my entry date = 12/01/2001 should be released 07/01/2015

    If my entry date = 07/04/2005 should be released 07/01/2015

    If my entry date = 20/02/2013 should be released 07/01/2015

    ... etc.

    Thanks in advance

    Hello

    The 1st day of the 3rd quarter of next year is:

    ADD_MONTHS (TRUNC (SYSDATE, 'YEAR')

    18 = 12 + 6

    )

    TRUNC (SYSDATE, 'YEAR') is the 1st day of the 1st quarter of this year

    The first day of the new year is 12 months after that, and the first day of quarter 3 is another 6 months after that.

    user634169 wrote:

    ... But, how to find the first day of the third quarter of the year next (from the current year) based on any date entry (i.e. sysdate)

    for example if my entry date = 12/01/2001 should be released 07/01/2015

    If my entry date = 07/04/2005 should be released 07/01/2015

    If my entry date = 20/02/2013 should be released 07/01/2015

    ... etc.

    Thanks in advance

    You did some errors above?

    If the effective date in 2001, why is the output in 2015, not 2002?

    If the output is based only on the date of the day (currently in 2014), why even mention a start date?

  • first day of the year and Monday next year

    Hello all;

    Given a year, how to determine the first day of this year and the next two Mondays for this year...

    This gives a shot:

    SELECT TRUNC(TO_DATE('2010','YYYY'),'YEAR')                        AS first_day_of_year
         , NEXT_DAY(TRUNC(TO_DATE('2010','YYYY'),'YEAR')-1,'MONDAY')   AS first_monday_of_year
         , NEXT_DAY(TRUNC(TO_DATE('2010','YYYY'),'YEAR')-1,'MONDAY')+7 AS second_monday_of_year
    FROM   dual
    ;
    
  • I'm looking for the 1st working day of the week.

    Hello

    I'm looking for the 1st working day of the week except Saturday, Sunday and holidays. I have vacation, the name of the table that contains the columns HolidayDate and HolidayDescription.

    Ex:

    01/10/2011 is monday (i.e) 1st company day.check if it is in the host table, then return the result as 01/11/2011 other returns the output as a 11-1-2011(which is the first business day of this week).


    Can someone tell me the query to solve?

    Hello

    If dt is any DATE, it is the first day of work in the same week as dt:

    WITH     all_week     AS
    (
         SELECT     TRUNC (dt, 'IW') + LEVEL - 1     AS a_dt
         FROM     dual
         CONNECT BY     LEVEL <= 5
    )
    SELECT     MIN (a_dt)     AS first_work_dt
    FROM     all_week
    WHERE     a_dt     NOT IN (
                      SELECT  holiday_dt
                      FROM    holiday
                     )
    ;
    

    This assumes that you have never 5 consecutive days. (Where I work, holidays are always at least a week apart, so that's fine.)
    If you have a week's holiday, increase the number of 'magical' in the CONNECT BY clause.

    It also means that holiday.holiday_dt = TRUNC (holiday.holiday.dt).

  • How to read the date of the day of the day of the year?

    I want to put 30 days for the test of endurance for the application of the components. the user will have the current value of 30 days with specify them the end of the day.

    I saw that the "seconds to Date/Time.vi" sure I checked the day of the year. If I can use this day of the year, I can add + 30 read 30 date.

    Barros,

    What I gave was the answer you were looking for originally because I believe.  You will not just be able to read the date in a coherent way and then add 30.  You can either use the function Get time in seconds or a few varaint it and then add the offset you want (you could use the get a Date/time string and enter the date directly, but this digital conversion which will be useful in the monitoring of the time elapsed will be much more difficult than what I provided only).  If you want to stop the test, simply to keep track of the amount of time the test is in pause and extension at the time where that amount.

    Cheers, Matt

  • I want to collect rain for the day, month and year; Can what formula I use?

    I want to collect rain for the day, month and year; What formula or expression that I can use.

    I use a Rain Wise product that converts impulses to an analog value.  The rain wise device can be

    "the value measure up to 1", 5", or 10".  I will be setting the unit at 10 inches in increments of 0.01 inch.

    What I would do is at each time increments of signal I would consider it as 0.01 then after reaching

    a period of time a day or a month, back to zero.

    Need some advice on this problem.

    How about you, using a counter to count the number of times where the signal is less than 0.01?

    For example,.

    Counter.Count = signal<=>

    The total number of rain is

    Counter * 10 + signal

    Use TimeOfDay or TimeOfWeek to reset the counter.

  • 2-3 days after the expiry of my warranty of one year, my computer turns off suddenly during use. I rebooted, but it stopped again.

    2-3 days after the expiry of my warranty of one year, my computer turns off suddenly during use.  I rebooted, but it stopped again.

    The model is that the computer runs for 15-30 minutes, then suddenly stops, the system reboots, runs for 2-3 minutes, stops, restarts, spans less than a minute, stops, restarts, stop after a few seconds, etc., and at that time there I give until the next day when I repeat the same cycle all over.    I have Windows Vista Home Premium 32 bit and it is a model of Dell Inspiron 518.  There is no error message but a beep at startup upward.  I ran Windows repair program 'Start' who did a restore without success.  The problem occurs even in Safe Mode.

    Does anyone have a guess as to what is the diagnosis?  Thank you.

    Hello

    Could be hardware or even heat and ventilation the related. Try using a small fan to increase ventilation. When a PC
    Remove ALL power and reinstall the memory, all cards and cables (do just not shake - remove and replace-)
    cables on both ends where possible).

    As it does in Mode safe so you probably need technical support in a real store of the computer - no Peeks/leeks at BestBuy or other large shopping areas. Very difficult to solve if it does not remain under tension.
    It remains under tension if you start from the disc of Vista?

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

    Look in the Event Viewer to see if something is reported on these reboots.

    http://www.computerperformance.co.UK/Vista/vista_event_viewer.htm

    -------------------------------------------------------------------------
    Also this, so you can see the probable bluescreens.

    Windows Vista restarts automatically if your computer encounters an error that requires him to plant.
    http://www.winvistatips.com/disable-automatic-restart-T84.html

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

    Here are a few ways to possibly fix the blue screen issue. If you could give the info from the blue screen that would be
    Help. Such as ITC and 4 others entered at the bottom left. And any other information such as STOP error
    codes and info like IRQL_NOT_LESS_OR_EQUAL or PAGE_FAULT_IN_NONPAGED_AREA and similar messages.

    As examples:

    BCCode: 116
    BCP1: 87BC9510
    BCP2: 8C013D80
    BCP3: 00000000
    BCP4: 00000002

    or in this format:

    Stop: 0 x 00000000 (oxoooooooo oxoooooooo oxoooooooo oxooooooooo)
    Tcpip.sys - address blocking 0 x 0 00000000 000000000 DateStamp 0 x 000000000

    It is an excellent tool for displaying the blue screen error information

    BlueScreenView scans all your minidump files created during 'blue screen of death' crashes, and displays the
    information on all accidents of a table - free
    http://www.NirSoft.NET/utils/blue_screen_view.html

    BlueScreens many are caused by old or damaged drivers, video drivers in particular, but there are other causes.

    You can follow these steps in the Safe Mode if necessary or the command prompt Vista DVD or Options of recovery if your
    system installed by the manufacturer.

    This tells you how to access the System Recovery Options and/or a Vista DVD
    http://windowshelp.Microsoft.com/Windows/en-us/help/326b756b-1601-435e-99D0-1585439470351033.mspx

    You can try a system restore to a point before the problem started when one exists.

    How to make a Vista system restore
    http://www.Vistax64.com/tutorials/76905-System-Restore-how.html

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

    Start - type this in the search box-> find COMMAND at the top and RIGHT CLICK – RUN AS ADMIN

    Enter this at the command prompt - sfc/scannow

    How to analyze the log file entries that the Microsoft Windows Resource Checker (SFC.exe) program
    generates in Windows Vista cbs.log
    http://support.Microsoft.com/kb/928228

    The log can give you the answer if there is a corrupted driver. (Says not all possible driver problems).

    Also run CheckDisk, so we cannot exclude as much as possible of the corruption.
    How to run the check disk at startup in Vista
    http://www.Vistax64.com/tutorials/67612-check-disk-Chkdsk.html

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

    Often drivers up-to-date will help, usually video, sound, network card (NIC), WiFi, 3rd party keyboard and
    smile, as well as of other major device drivers.

    Look at the sites of the manufacturer for drivers - and the manufacturer of the device manually.
    http://pcsupport.about.com/od/driverssupport/HT/driverdlmfgr.htm

    How to install a device driver in Vista Device Manager
    http://www.Vistax64.com/tutorials/193584-Device-Manager-install-driver.html

    How to disable automatic driver Installation in Windows Vista - drivers
    http://www.AddictiveTips.com/Windows-Tips/how-to-disable-automatic-driver-installation-in-Windows-Vista/
    http://TechNet.Microsoft.com/en-us/library/cc730606 (WS.10) .aspx

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

    How to fix BlueScreen (STOP) errors that cause Windows Vista to shut down or restart unexpectedly
    http://support.Microsoft.com/kb/958233

    Troubleshooting, STOP error blue screen Vista
    http://www.chicagotech.NET/Vista/vistabluescreen.htm

    Understanding and decoding BSOD (blue screen of death) Messages
    http://www.Taranfx.com/blog/?p=692

    Windows - troubleshooting blue screen errors
    http://KB.wisc.edu/page.php?id=7033

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

    In some cases, it may be necessary.

    The Options or Vista recovery disk Startup Repair

    How to do a startup repair
    http://www.Vistax64.com/tutorials/91467-startup-repair.html

    This tells you how to access the System Recovery Options and/or a Vista DVD
    http://windowshelp.Microsoft.com/Windows/en-us/help/326b756b-1601-435e-99D0-1585439470351033.mspx

    I hope this helps.

    Rob - bicycle - Mark Twain said it is good.

  • Set the calendar to display day, month and year

    In addition to the time of day, my computer began giving the day of the week (Monday) only instead of day, month and year as it did before. Tried to go back to 29/12/2014 or something similar without success.  Any suggestions?

    Hello

    Sorry for the late reply and I appreciate your patience.

    User profile corruption might have caused the problem. As a solution, I suggest to create a new user profile and check if the date format displays the same thing.

    To do this, see the link below.

    http://Windows.Microsoft.com/en-us/Windows/fix-corrupted-user-profile#1TC=Windows-7.

    It will be useful. Just answer us with the State, and we will be happy to help you.

  • Can I organize pictures by year, then month, then the location. In the photo on my iPhone app, they are organized in this way and I would do the same in Lightroom. Is this possible?

    Can I organize pictures by year, then month, then the location. In the photo on my iPhone app, they are organized in this way and I would do the same in Lightroom. Is this possible?

    Find pictures of calendar is integrated into Lightroom. The filter bar allows you to find photos taken during the year, or any month/year or month/day/year. No work necessary to implement. Just use the filter bar.

    Location is also a means of organizing in Lightroom and is especially easy if your phone adds GPS coordinates to the pictures it takes. Even if the phone does not add the GPS location, you can do it manually in Lightroom.

  • Suggest the Sql query to get the years, months, days of the two dates.

    Hi all

    SELECT TO_DATE('06-02-2014','DD-MM-YYYY') - TO_DATE('01-04-1998','DD-MM-YYYY') SERVICE_DAYS OF THE DOUBLE

    5790 SERVICE_DAYS

    POWER REQUIRED:
    YEARS MONTHS DAYS
    15 10 5

    OUTPUT DISPLAY:

    Select
    Floor(5790/ 365.25),
    Floor (mod (5790,365.25) / (365.25 / 12)),.
    ceil (mod(5790,365.25 / 12))
    Double;

    YEARS MONTHS DAYS
    15 10 7 - TWO DAYS MORE


    How they calculate manually is as follows:

    2014 02-06
    1998-04-01
    ---------------
    05 - days

    2014 02-06
    1998-04-01
    + 12
    ---------------
    10 month 02 is lower than 04, so we borrow 12 months of TI (2014) years will be (2013)

    2014 02-06
    1998-04-01
    -(1).
    ---------------
    15. for the years since we-1

    Kind regards

    Afzal.

    OK... so try not not to multiply the reminder to add_months with 30 but to solve the 'day-thing' in a different way...

    first step (data) is only my implementation testdata.

    WITH DATA AS (SELECT TO_DATE('02-03-2014','DD-MM-YYYY') AS Degnide

    TO_DATE('07-04-2008','DD-MM-YYYY') AS dayfrom

    OF the double

    UNION ALL

    SELECT TO_DATE('12-04-2014','DD-MM-YYYY') AS Degnide

    TO_DATE('11-05-1994','DD-MM-YYYY') AS dayfrom

    OF the double

    UNION ALL

    SELECT TO_DATE('06-02-2014','DD-MM-YYYY') AS Degnide

    TO_DATE('01-04-1998','DD-MM-YYYY') AS dayfrom

    OF the double

    )

    calc AS (SELECT months_between (dayto, dayfrom) SERVICE_DAYS

    Degnide

    dayfrom

    DATA)

    SELECT Degnide

    dayfrom

    floor(service_days/12) IN years

    floor (mod(service_days,12)) AS month

    , BUSINESS sign (EXTRACT (Degnide DAY) - EXTRACT (DAY FROM dayfrom))

    WHEN THEN-1 EXTRACT (DAY FROM Degnide) + 30 - EXTRACT (DAY OF THE dayfrom)

    WHEN 0 then 0

    WHEN 1 THEN EXTRACT (Degnide DAY) - EXTRACT (DAY FROM dayfrom)

    0 OTHERWISE

    end as days

    CALC

    HTH

  • Breaking a year in coming weeks of beginning and end Dates (parameters) and first and last day of the month

    Hello people:

    I have currently a query that picks up all the weeks between a date range where my week starts on Thursday and ends on Wednesday. The following query works fine except that I need the week of beginning and end, from beginning and end Dates of months and the beginning and the Dates of end of the values of the settings, I'm passing. In this case, I chose January 1, 2013 to 31 December 2013.

    Any help or pointers would be great!

    Thank you!

    Problem: I am picking up days of December 2012 as the first week began on December 27, 2012. In addition, in December, I'm pretty much lost last week as well (26 December - 31 December).

    The request in hand:

    SELECT first_thursday + (7 * (LEVEL - 1))   AS week_start_date,
                     first_thursday + (7 * LEVEL) - 1    AS  week_end_date
    FROM
    (
      SELECT TRUNC(p_from_date + 4, 'IW') - 4   AS first_thursday, -- Week should start the pre ceeding THURSDAY based on the Start Date
                      TRUNC( p_to_date + 4,  'IW') - 5     AS last_wednesday
      FROM
      (
        SELECT to_date('01-JAN-2013') AS p_from_date,
                        NVL(to_date('31-DEC-2013'), SYSDATE) AS p_to_date
        FROM     dual
      ) parms
    ) end_points
    CONNECT BY LEVEL <= ( last_wednesday + 1 - first_thursday)/7;
    

    Currently, this is the result I get (I'm only including the months of January and December here).

    Week_Start_Date     Week_End_Date
    27-DEC-12                02-JAN-13
    03-JAN-13                 09-JAN-13
    10-JAN-13                 16-JAN-13
    17-JAN-13                 23-JAN-13
    24-JAN-13                 30-JAN-13
    31-JAN-13                 06-FEB-13
    

    December:

    28-NOV-13               04-DEC-13
    05-DEC-13              11-DEC-13
    12-DEC-13              18-DEC-13
    19-DEC-13              25-DEC-13
    

    What I would really like is based on start and end Dates, as well as the first and the last day of the month is similarly try nicely. I have provided and then gently break at the end of the month:

    January:

    01-JAN-13              02-JAN-13
    03-JAN-13              09-JAN-13
    10-JAN-13             16-JAN-13
    17-JAN-13             23-JAN-13
    24-JAN-13             30-JAN-13
    31-JAN-13             31-JAN-13
    

    February:

    01-FEB-13    06-FEB-13
    07-FEB-13    13-FEB-13
    14-FEB-13    20-FEB-13
    21-FEB-13    27-FEB-13
    28-FEB-13    28-FEB-13
    

    November:

    31-OCT-13    06-NOV-13
    07-NOV-13    13-NOV-13
    14-NOV-13    20-NOV-13
    21-NOV-13    27-NOV-13
    28-NOV-13    04-DEC-13
    

    December:

    01-DEC-13           04-DEC-13
    05-DEC-13           11-DEC-13
    12-DEC-13          18-DEC-13
    19-DEC-13          25-DEC-13
    26-DEC-13          31-DEC-13
    

    Hello

    Roxyrollers wrote:

    Hello people:

    I have currently a query that picks up all the weeks between a date range where my week starts on Thursday and ends on Wednesday. The following query works fine except that I need the week of beginning and end, from beginning and end Dates of months and the beginning and the Dates of end of the values of the settings, I'm passing. In this case, I chose January 1, 2013 to 31 December 2013.

    Any help or pointers would be great!

    Thank you!

    Problem: I am picking up days of December 2012 as the first week began on December 27, 2012. In addition, in December, I'm pretty much lost last week as well (26 December - 31 December).

    The request in hand:

    1. First_thursday SELECT + (7 * (LEVEL - 1)) AS week_start_date,
    2. first_thursday + (7 * LEVEL)-1 AS week_end_date
    3. Of
    4. (
    5. SELECT TRUNC (p_from_date + 4, 'IW') - 4 AS first_thursday,-week should start to perform the pre-mounted THURSDAY based on the Start Date
    6. TRUNC (p_to_date + 4, 'IW') - 5 AS last_wednesday
    7. Of
    8. (
    9. SELECT to_date('01-JAN-2013') AS p_from_date,
    10. NVL (to_date('31-Dec-2013'), SYSDATE) AS p_to_date
    11. OF the double
    12. ) parms
    13. ) end_points
    14. CONNECT BY LEVEL<= (="" last_wednesday="" +="" 1="" -="">

    Currently, this is the result I get (I'm only including the months of January and December here).

    1. Week_Start_Date Week_End_Date
    2. DECEMBER 27, 12 2 JANUARY 13
    3. JANUARY 3, 13 JANUARY 9, 13
    4. 10 JANUARY 13 JANUARY 16, 13
    5. 17 JANUARY 13 23 JANUARY 13
    6. 24 JANUARY 13 30 JANUARY 13
    7. 31 JANUARY 13 FEBRUARY 6, 13

    December:

    1. NOVEMBER 28, 13 4 DECEMBER 13
    2. 5 DECEMBER 13 DECEMBER 11, 13
    3. 12 DECEMBER 13 18 DECEMBER 13
    4. 19 DECEMBER 13 DECEMBER 25, 13

    What I would really like is based on start and end Dates, as well as the first and the last day of the month is similarly try nicely. I have provided and then gently break at the end of the month:

    January:

    1. JANUARY 1, 13 2 JANUARY 13
    2. JANUARY 3, 13 JANUARY 9, 13
    3. 10 JANUARY 13 JANUARY 16, 13
    4. 17 JANUARY 13 23 JANUARY 13
    5. 24 JANUARY 13 30 JANUARY 13
    6. 31 JANUARY 13 JANUARY 31, 13

    February:

    1. 1ST FEBRUARY 13 FEBRUARY 6, 13
    2. 7 FEBRUARY 13 FEBRUARY 13, 13
    3. 14 FEBRUARY 13 FEBRUARY 20, 13
    4. 21 FEBRUARY 13 FEBRUARY 27, 13
    5. 28 FEBRUARY 13 FEBRUARY 28, 13

    November:

    1. 31 OCTOBER 13 NOVEMBER 6, 13
    2. 7 NOVEMBER 13 NOVEMBER 13, 13
    3. 14 NOVEMBER 13 NOVEMBER 20, 13
    4. 21 NOVEMBER 13 NOVEMBER 27, 13
    5. NOVEMBER 28, 13 4 DECEMBER 13

    December:

    1. 1ST DECEMBER 13 DECEMBER 4, 13
    2. 5 DECEMBER 13 DECEMBER 11, 13
    3. 12 DECEMBER 13 18 DECEMBER 13
    4. 19 DECEMBER 13 DECEMBER 25, 13
    5. 26 DECEMBER 13 DECEMBER 31, 13

    Why the "weeks" in November, have all 7 days, while the "weeks" in the first or the last week in the other month usually have less?  (For example, February 28 is a 'week' alone.)

    The following works for the other months:

    WITH all_days AS

    (

    SELECT DATE "2013-01-01' + LEVEL - AS a_date 1

    OF the double

    CONNECT BY LEVEL<=>

    )

    SELECT DISTINCT

    More GRAND (TRUNC (a_date + 4, 'IW') - 4)

    , TRUNC (a_date, 'MONTH')

    ) AS week_begin

    , The LEAST (TRUNC (a_date + 4, 'IW') + 2

    TRUNC (LAST_DAY (a_date))

    ), Week_end

    Of all_days

    ORDER BY week_begin

    ;

    Output:

    WEEK_BEGIN WEEK_END

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

    January 1, 2013 January 2, 2013

    January 3, 2013 January 9, 2013

    January 10, 2013 January 16, 2013

    January 17, 2013 January 23, 2013

    January 24, 2013 January 30, 2013

    January 31, 2013 January 31, 2013

    February 1, 2013 February 6, 2013

    February 7, 2013 February 13, 2013

    February 14, 2013 February 20, 2013

    February 21, 2013 February 27, 2013

    February 28, 2013 February 28, 2013

    ...

    November 1, 2013 November 6, 2013

    November 7, 2013 November 13, 2013

    November 14, 2013 November 20, 2013

    November 21, 2013 November 27, 2013

    November 28, 2013 November 30, 2013

    December 1, 2013 December 4, 2013

    December 5, 2013 December 11, 2013

    December 12, 2013 December 18, 2013

    December 19, 2013 December 25, 2013

    26 December 2013 31 December 2013

  • Deriving from the first day of the week ww in the year yyyy

    I need to be able to display the first day of a particular week in addition to the "week of the year" and the year. for example:
    select to_char("ServiceDate",'yyyy-ww') as "Year/Week", sum("Points") as "Points"
    from my_table
    group by to_char("ServiceDate",'yyyy-ww')
    order by to_char("ServiceDate",'yyyy-ww')
    give me the following:
    Year/Week     Points
    2008-33            1                      
    2008-35            1                      
    2008-42            4                      
    2008-43            2                      
    2009-01            1                      
    ...
    and so on. What I would like to add to the dataset is the same day, the first day of the week for this week/year. For example, the first line would look like this:
    Year/Week     1st day of week     Points
    2008-33          08-AUG-2008*         1
    * Or whatever the first day of the week 33 of 2008 is (assuming that "first day of the week" is a Sunday, in my case).

    My brain is on "dim" right now; any help is greatly appreciated.
    Thanks in advance,
    Carl
    select  to_char(trunc("ServiceDate",'ww'),'yyyy-ww') as "Year/Week",
            to_char(trunc("ServiceDate",'ww'),'DD-MON-YYYY') "Week Start Date",
            sum("Points") as "Points"
    from my_table
    group by trunc("ServiceDate",'ww')
    order by trunc("ServiceDate",'ww')
    /
    

    SY.

  • calculate the day of the year using the date.

    Hi all
    Can calculate us the day of the year using the date form? Is this possible? Please help me thanks in advance
    Like this
    30/08/2009-30/08/2010 after calculation - 365


    Sarah

    Published by: SarahSarahSarah on August 30, 2009 12:49 AM

    Sarah.

    : ins1.noday must be a part of number!

    Create a function in forms like this:

    function get_nodays ( f_dtm_start in date,
                          f_dtm_end   in date ) return number is
    begin
    if
      f_dtm_start is null OR
      f_dtm_end is null
    then
      return ( null );
    end if;
    return ( trunc ( f_dtm_start ) - trunc ( f_dtm_end ) );
    exception when others
    then message ( sqlerrm || ' in function get_nodays occured.' );
    return ( null );
    end;
    

    Call this function in the when-validate-point triggers on ins1. INSPERIOD and: ins1.end love

    :ins1.noday := get_nodays ( :ins1.INSPERIOD, :ins1.end );
    

    It is redundant to have the: noday as a cause of part of database
    the value may by calculated every time using the values INSPERIOD and: end.

Maybe you are looking for