first day of the month and time

Hello

Using oracle 11.2.0.3

A table with a column date

sample opening time data 04/08/2014-08:30 one single column, another column start date 04/02/2014

Want to have a sql that will go through an opening time table set on the first day of the month as well as existing time

for example expect times to be

04/01/2014 08:30

Code below will give the first day of the month

What is the best way to achieve this-date data type columns.

{code}

Select trunc(start_time,'MM))

of customer_hours ch

{code}

Select

SYSDATE - trunc (sysdate) + trunc (sysdate, 'MM')

of the double

resp.

Select

start_time - trunc (start_time) + trunc (start_time, 'MM')

of the double

Tags: Database

Similar Questions

  • First day of the month

    How to find the first day of the month if the month format is like TO_CHAR(SYSDATE,'YYYYMM')
    
    Sanjay
    Published by: user12957777 on May 23, 2012 21:12

    There is no 'day' in this date format.

    What you trying to do? What do you expect the result to look like?

    Are you wanting to set a date for the first day of the month and year of your example?

    SELECT TO_DATE(TO_CHAR(SYSDATE,'YYYYMM') || '01', 'YYYYMMDD') FROM DUAL;
    
  • First day of the month between 08:00 and 18:30

    DB version: 10.2.0.4

    Due to the nature of our the first working day of each month (like today 1 MS), the DB will be very busy.
    We execute a proc purge planned Windows Scheduler every 5 minutes every day.

    But the first day of every month (like today 1 MS), if it's a day of the week (Monday to Friday) we do not want this proc running between 08:00 and for dinner from 18:30.

    So, I thought including the logic in the procedure itself.

    How can I implement this?

    Edited by: user872043, Sep 1 2010 08:48

    Here is an example of using DBMS_SCHEDULER which should meet your needs:

    Create schedules

    BEGIN
            DBMS_SCHEDULER.CREATE_SCHEDULE
            ( schedule_name   => 'every_5_schedule'
            , repeat_interval => 'FREQ=MINUTELY; BYMONTHDAY=2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31; INTERVAL=5; BYSECOND=0'
            , comments        => 'Schedule to run every 5 minutes'
            );
    
            DBMS_SCHEDULER.CREATE_SCHEDULE
            ( schedule_name   => 'busy_hourly_schedule'
            , repeat_interval => 'FREQ=MINUTELY; BYMONTHDAY=1; BYHOUR=0,1,2,3,4,5,6,7,19,20,21,22,23; INTERVAL=5;'
            , comments        => 'Schedule to run every 5 minutes except certain hours on the first of the month'
            );
    
            DBMS_SCHEDULER.CREATE_SCHEDULE
            ( schedule_name   => 'busy_6pm_schedule'
            , repeat_interval => 'FREQ=MINUTELY; BYMONTHDAY=1; BYHOUR=18; BYMINUTE=30,35,40,45,50,55'
            , comments        => 'Schedule to run every 5 minutes from 6:30 - 7'
            );
    END;
    /
    

    There are three lists.

    every_5_schedule - runs every 5 minutes for all the days that are not on the first day of the month
    busy_hourly_schedule - runs every 5 minutes for the acceptable hours on the first day of the month
    busy_6pm_schedule - retrieves the half hour from 6:30 - 7 on the first day of the month.

    Then, create your business:

    Job creation

    BEGIN
            DBMS_SCHEDULER.CREATE_JOB
            ( job_name        => 'YOUR JOB'
            , job_type        => 'PLSQL_BLOCK'
            , job_action      =>'BEGIN YOURPROC; END;'
            , repeat_interval => 'EVERY_5_SCHEDULE, BUSY_HOURLY_SCHEDULE, BUSY_6PM_SCHEDULE'
            , enabled         => TRUE
            , comments        => 'Some comments'
            );
    END;
    /
     
    

    HTH!

  • How to calculate the first day of the month following in BI Publisher

    I need to be able to calculate the first day of the month of a date field in a BI Publisher model. The field name is COL_CLM_180 and contains a date in the format "YYYY-MM-DD". I have found so far any documentation that still gives me an idea of what to do.

    Any help or advice would be appreciated

    Hi - thank you very much for your help. Your last answer got me going in the right direction and I indeed was dense. I don't know why I don't think to the calculation in the original query. I put the statement: TRUNC (ADD_MONTHS(A.COL_CLM_180,1), 'MM') in a column in the query of conduct and it has worked flawlessly. Thank you - thank you - thank you.

  • How to find the first day of the month following two years one year from now?

    Hello

    I need to find the first day of the month following two years ago, based on the current date.

    For example: If today is the 31/08/2015 so I need to find the date range between 31/08/2015 and on 09/01/2013. How can I write an SQL which allows to automate this calculation instead of hard-coding the values. Please do help me out with this so that I can build the SQL that can produce the desired result.

    Thank you

    Dhilip

    find the start of the month - 2 years in advance, early - 2 years + 1 months in advance and go back 1

    Select trunc (add_months(sysdate,24), 'MM'), trunc (add_months(sysdate,25), 'MM') - 1 double;

  • each first day of the month

    Hi friends here is the querry I wrote to display every first day of the month, but there is something wrong in it... Help me...
    create or replace procedure minmax is
    cursor minmax_cur is
    Select min (hiredate), max in emp (hiredate);
    number of v_minmonths;
    number of v_maxmonths;
    number of v_minyears;
    number of v_maxyears;
    x date of publication;
    date of y;

    Start
    Open minmax_cur;
    extraction minmax_cur
    x, y;
    v_minmonths: = extraction (x months);
    v_minyears: = extraction (year x);
    While (x, y) loop
    because me in 1... v_minmonths loop
    If (v_minmonths < 12) then
    v_minmonths: = v_minmonths + 1;
    x: = x + 28.
    dbms_output.put_line(v_minmonths ||) '/' || '01'. '/' ||
    v_minyears);
    on the other
    v_minmonths: = 0;
    v_minyears: = v_minyears + 1;
    x: = x + 28.

    end if;
    end loop;
    end loop;
    minMax end;
    and the results are

    01/01/1981
    01/02/1981
    01/03/1981
    ..................
    .........---
    01/04/1987
    01/05/1987
    01/06/1987
    01/07/1987
    01/08/1987
    01/09/1987
    01/10/1987
    01/11/1987 the problem is max (hiredate) is 5/23/1987...it must show up to 01/05/1987...
    I get a few more months...
  • query for the first day of the month

    Hi all

    How to get the first day of the month in the sql query.

    SQL> select trunc(sysdate,'mm') first_day from dual;
    
    FIRST_DAY
    ---------
    01-AUG-15
    
    SQL> select trunc(sysdate,'month') first_day  from dual;
    
    FIRST_DAY
    ---------
    01-AUG-15
    
    SQL> select trunc(sysdate,'mon')  first_day from dual;
    
    FIRST_DAY
    ---------
    01-AUG-15
    
    SQL>
    
  • find the first day of the month

    Hello...
    can u pls let me know how to find the first day of the month, if the number of months (for ex - OCT-10) is passed as input

    Kind regards

    I'm not sure that there is a function called FIRST_DAY().

    SQL> SELECT first_day (SYSDATE)
      2    FROM DUAL;
    SELECT first_day (SYSDATE)
           *
    ERROR at line 1:
    ORA-00904: "FIRST_DAY": invalid identifier
    
    SQL> SELECT TRUNC (SYSDATE, 'month')
      2    FROM DUAL;
    
    TRUNC(SYS
    ---------
    01-DEC-08
    
    SQL> 
    

    I hope this helps.

    Kind regards
    Joice

  • Function to retrieve the first day of the month.

    Select (sysdate, 'IW') of double

    I know it takes the date of Monday. Is there a function like above that has the date of return to the first Monday of the month?

    Thanks in advance.

    Hello

    NEXT_DAY is very convenient, but it is dependent on the NLS_DATE_LANGUAGE, and you cannot pass an argument to override that.
    TRUNC (dt, 'IW') is not in the NLS settings, then you may prefer this:

    TRUNC ( 6 + TRUNC (SYSDATE, 'MONTH')
          , 'IW'
          )          AS first_monday
    

    1st Monday of the month is fixed to the Monday or before the 7th of the month.

  • 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
    ;
    
  • First day with the mobile and shatter proof - broken

    Hello

    I bought Xperia double Z3, mobile is great and every thing,

    In the first day of use, it fell out of my hand on the ground, I picked up there instantly, but I was surprised that the screen was kicked as he was struck by the big hammer!
    the functionality of contact has been lost, I went back to the buyer, and he told me that the warranty covers accidents, I told him that I had samsung s4 for two years and it is fell 100 times and harder than that and there was no damage at all to the screen!

    They said that the screen was not shock resistant break proof!

    I send the local support of sony in Egypt and they replied "good luck with your repair!

    How can a mobile screen get bashed like that from a simple fall, and what is the problem with people taking in charge of sony?

    Someone knows how to climb to a higher level of support?

    If there is, please share the link, there is no such thing as a "phone shatter proof". I'm sorry about your question, but you have 2 options, 1. with your Xperia local as Jean-Claude suggested or DIY 2, for the last dated, you will cancel your warranty, but it might be cheaper, just to buy the LCD screen online and follow this

    http://www.Xperiablog.NET/2014/09/30/Xperia-Z3-disassembly-Guide/

    https://www.YouTube.com/watch?v=9ZLLChEXzWk

  • Get the last day of the month

    Hello

    How can I get the (day number of the) last day of a given month and year?

    So, if

    year 2015 = and month = 1, the output should be 31

    year = 2012 and month = 2 while production is expected to be 29

    year 2013 = and month = 2 while production is expected to be 28

    etc.

    Y at - it no OBIEE to achieve? If not, then a command SQL Oracle is very good too (I prefer OBIEE however)

    Thanks in advance,

    Erik

    You start from the first day of the month, you add 1 month [TIMESTAMPADD (SQL_TSI_MONTH, 1, 'your date')], you must subtract 1 day [TIMESTAMPADD (SQL_TSI_DAY,-1, 'your date')] and use the DAYOFMONTH function to get the number of the last day of the month [DAYOFMONTH ('your ' date')].

    All these calls nesting together and you're there.

  • Last day of the month with the last minute of the day

    Hello
    I wonder about how to get the last day of the month with the last minute of this day(23:59). We can use the last_day function (DATE) to get the last date, but reminds me of the time of day when the function has been executed. But I want to have the last minute with my last date of the current month.

    Please inform.

    Thank you

    HP

    Hello

    Ora_bie wrote:
    Hello
    I wonder about how to get the last day of the month with the last minute of this day(23:59). We can use the last_day function (DATE) to get the last date, but reminds me of the time of day when the function has been executed. But I want to have the last minute with my last date of the current month.

    In fact, it returns at the same time as the argument you pass; But whatever it is, is not what you want.

    This will return the last day of the month that contains the DATE 23:59 (or 23:59) dt:

    SELECT  ADD_MONTHS ( TRUNC (dt, 'MONTH')
                 , 1
                 ) - (1 / (24 * 60))
    FROM    dual
    ;
    

    TRUNC (dt, 'MONTH') is 00:00 on the first day of the month that contains dt.
    ADD_MONTHS (TRUNC (dt, 'MONTH'), 1) is from 00:00 the first day of the month following the one containing dt.
    ADD_MONTHS (TRUNC (dt, 'MONTH'), 1)-(1 / (24 * 60)) is a minute earlier.
    (Since there are 24 hours, each with 60 minutes, every day, 1 / (24 * 60) days is identical to a minute.)

    Another (less clear, in my opinion) way to get the same results is:

    TRUNC (LAST_DAY (dt)) + (1439/1440)  -- 1440 minutes = 1 day
    
  • How do you know the date and time of synchronization in the windows version?

    Where can I see the date and time of synchronization?

    Is there a toolbar button in the Palette to customize. Move this button to a toolbar or in the Menu box open. When you hover over this button, a ToolTip will appear with the day of the week and time of the last synchronization event.

  • 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

Maybe you are looking for