Get the 5th business day
All,I am the need to get the 5th date of business for all dates in the dim_date table.
The dim_date table has a structure like this. There are more fields, but I'm in the process of what might be required here
calendar_dt | date_key | is_weekend | is_holiday | next_bus_date_key
22/11/2012. 20121122 | N | THERE | 20121123
23/11/2012. 20121123 | N | N | 20121126
24/11/2012. 20121124 | THERE | THERE | 20121126
What I need would be the 5th business day of each of this date. for example:
22/11/2012. 29/11/2012
23/11/2012. 30/11/2012
and so on, i.e. weekends and holidays are ignored
Any thoughts?
Thank you
S
Edited by: 957793 27 November 2012 04:47
Edited by: 957793 27 November 2012 04:55
Hello
You can do a self-join when you join earlier dates to later dates, except weekends and holidays from later dates, like this:
WITH got_r_num AS
(
SELECT e.dt
, l.dt AS b_dt
, ROW_NUMBER () OVER ( PARTITION BY e.dt
ORDER BY l.dt
) AS r_num
FROM data e
JOIN data l ON l.dt BETWEEN e.dt + 1
AND e.dt + 14 -- May be different in your company
WHERE l.wkend = 'N'
AND l.holiday = 'N'
)
SELECT dt
, b_dt
FROM got_r_num
WHERE r_num = 5
ORDER BY dt
;
The 'magic number' 14 in the join condition is an upper bound on the actual number of days away the 5th working day can be. Where I work, the holidays are always at least 7 days apart, so the 5th working day is never further than 9 days real (5 days + 2 days + 2 days weekened) suite. Holidays may be more densely grouped in the same data posted Laureline, so I used a lot. If you don't know what number to use in your case, imagine that high.
Tags: Database
Similar Questions
-
How to get the last business day of the previous month?
Hi all
We need the user as below,
If the user select 18 June 2015 ' quick dashboard as the input value, and then they want to see last month last day of work (business date: 29-may-2015) amount in report, if you have an idea please share with us.thanks
Note:
use under request we can able to get the last day of the previous month, we want to for the last business day of the last month, based on the date of entry of the user?
TIMESTAMPADD (SQL_TSI_DAY,-(1), TIMESTAMPADD (SQL_TSI_DAY, DAYOFMONTH ("DIM_TIME". ("" DataDate ") *-(1) + 1,"DIM_TIME ". (("" DataDate "))
Thank you
Deva
Try this,
case when Dayofweek (timestampadd (sql_tsi_day, Dayofmonth(Date '2015-06-15') *-1, Date ' 2015-06-15')) = 1 then timestampadd (sql_tsi_day, (Dayofmonth(Date '2015-06-15') *-1)-2, Date '' 2015-06-15) when Dayofweek (timestampadd (sql_tsi_day, Dayofmonth(Date '2015-06-15') *-1, Date ' 2015-06-15')) = 7 then timestampadd (sql_tsi_day, Dayofmonth(Date '2015-06-15') *-1-1, Date '' 2015-06-15) another timestampadd (sql_tsi_day, Dayofmonth(Date '2015-06-15') *-1, Date ' 2015-06-15') end
As Ftsiot said in this post, it will work only to exclude the sat and Sun. Another one if you want to exclude regional holiday, you may need a calendar in DB table.
Thank you
AJ
-
Get the number of days in a month based on the month and year of fields
I have a column in my form which lists the days in a month. I want to configure a hidden field that calculates the total number of days in a month, based on the month and year of the field inputs. The number of days will determine what appears on the column. For example, if I put 4 months, and 2016 in the field of the year, I get 30 in the hidden field. Thus, on the column 'Day', I'll have numbers 1-30. Or if I put 2 months and 2016 in the field of the year, I get the 29 in the hidden field. If the numbers 1-29 appears in the column 'day '.
Found this on some forum javascript code:
//Month is 1 based
function daysInMonth(month,year) {
return new Date(year, month, 0).getDate();
}
//July
daysInMonth(7,2009); //31
//February
daysInMonth(2,2009); //28
daysInMonth(2,2008); //29I do not know how to convert this code in JavaScript to adobe and don't really know how to use it. All I know how to do is to configure the field values for the field month and year as variables. I am a novice programmer and would appreciate it really all the help I can get. Thank you in advance!
The code seems to be JavaScript and runs as needed by using the JavaScript console.
I would like to consider making more general code, so if you have a date string that includes at least the month and year we could just call the function and get the number of days for that month.
The following script will calculate the number of days in a month, by using at least the month and year values can display the result on the JavaScript console and all of the value field for the field that has this code as the custom calculation Script.
function daysInMonth (oDate) {}
return new Date (oDate.getFullYear (), oDate.getMonth () + 1, 0) .getDate ();
}nMonth var = this.getField("Month").valueAsString; get the value of month;
nYear var = this.getField("Year").valueAsString; get the value of the year;Event.Value = "";
If (nMonth! = "" & nYear!) = "") {}
var MyDate = util.scand ("' / mm/yyyy ', nMonth +" / "+ nYear); convert to date object;
var nDaysInMonth = daysInMonth (MyDate); get the number of days;Console.Open (); Open the JavaScript console;
Console.clear(); clear the console;
Console.println ("Days in" + nMonth + ":" + nDaysInMonth); show days in month;
Event.Value = nDaysInMonth; Set the value of the field;
}
-
SQL query to get the number of days monthwise
Hello
I'm new to sql, can someone please tell me query to find the number of days between the two dates months wise.
say
FIRSTDATE last date
21/03/2011-25/06/2011
March April May June
9 22 23 18Hello
Welcome to the forum!
Here's one way:
WITH all_dates AS ( SELECT start_date + LEVEL - 1 AS a_date FROM ( SELECT TO_DATE ('21/03/2011', 'DD/MM/YYYY') AS start_date , TO_DATE ('25/06/2011', 'DD/MM/YYYY') AS end_date FROM dual ) CONNECT BY LEVEL <= end_date + 1 - start_date ) SELECT TO_CHAR ( TRUNC (a_date, 'MONTH') , 'fmMonth YYYY' ) AS month , COUNT (*) AS num_days FROM all_dates WHERE a_date - TRUNC (a_date, 'IW') < 5 GROUP BY TRUNC (a_date, 'MONTH') ORDER BY TRUNC (a_date, 'MONTH') ;
What is a 'working day '? I guess you mean every day except Saturday or Sunday, but the query aboveare sometimes figures less than you have asked:
MONTH NUM_DAYS --------------- ---------- March 2011 9 April 2011 21 May 2011 22 June 2011 18
Are a few days working on Saturday or Sunday? How do you get the 22 working days in April 2011 and 23 in may?
SQL is good at obtaining results with a variable number of rows, but you have to say exactly the desired number of columns when you write the query.
If you really need the output of the way you said, with any number of columns, then watch in swing or a grouping of the chain . See the FAQ forum
https://forums.Oracle.com/forums/Ann.jspa?annID=1535
"4. How can I convert rows to columns. -
Get the number of days, months and year
Hi all
I'm using OBIEE 11 g. I have a line of dash for year (2010, 2011, etc.) and months (Jan, Feb,..., Dec). How can I get the number of days in a given month and year in my report?
For example, if I choose to Jan & 2011, I'd get 31 and 356. And if I choose Feb & 2011, I would get 28 and 356.
Thank you!I have something more good option here... Try to use this
DAYOFMONTH (TIMESTAMPADD (SQL_TSI_DAY, DAYOFMONTH (CURRENT_DATE) *-1, TIMESTAMPADD (SQL_TSI_MONTH, 1, CURRENT_DATE)))
This will give you the days for the month in progress (Oct 2011) after calculating the last day of each month... Similary dynamically pass the value Date or month... You will need to modify this function but shud be simple. Hope this helps :)
-
Get the difference in days between 2 dates in Essbase 9.3.1
How to calculate to get the difference in days between 2 dates in the format day of Essbase 9.3.1.la is 20090101 (yyyymmdd). If 2010907-20100917 = 10 days.
Start and end dates may extend over several years.@DateDiff does not exist in the 9.3.1 I think. With this assumption...
Could you use the CDF 'Functions of Date'? According to the docs (I've never used it):
@JdaysOffset - returns the number of days between the firstDate and the secondDate.See samplecode.oracle.com for the CDF. Just search for CDF and you will find it on the second page (I think) of the FMCS.
Or see this thread for another approach that I think the CDF under the covers: Re: Formate Date.
Of course, you could spend to 11 for DateDiff. :)
Kind regards
Cameron Lackpour
-
Compare and get the number of days since the same date field
Hello
I need to get the results in days when comparing the same field, date
For example,.
Primary_key_field Date_field
100000002 1 January 10
100000004 February 1st, 10
100000005 30 April 10
100000006 April 18, 10
100000007 29 April 10
100000008 May 1st, 10
extract the first two date_field records based on the primary_key_field. (January 1, 2010 and February 1, 2010) and compare and find the difference and who appear in number of days, the same fetch two disks and do the same math... How can I achieve this... is it possible to make the SQL thro? Please help me solve this problem...
Thank you and best regards,
KBG.This is the query using functions oracle Analytics
Primary_key_field Date_field
100000002 1 January 10
100000004 February 1st, 10
100000005 30 April 10
100000006 April 18, 10
100000007 29 April 10
100000008 May 1st, 10Select rn, date_field, next, next - date_field "Diff".
de)
ROW_NUMBER() SELECT over (ORDER BY primary_key_field) rn,
date_field, LEAD (date_field) OVER (ORDER BY date_field) next
FROM table_name)
/ -
get the number of days of the week to sysdate
Hi all
my need is to get the number of the day of the week of sysdate.
Here's how can I make it right now:
Select to_char(sysdate,'Dy') t1 double
But he returns the abbreviated name of the day of the week while I need number of days of the week.
Please help me. Thanks in advance.
Best regards
--
Marco
Or if you want the ISO week (Monday = day 1):
Select trunc (sysdate) - trunc(sysdate,'IW') + 1 double;
-
How to get the date - 7 days (week)
Hi all
I am beginner in Java and JSP
I'm JSP search form (VO) where I need to set a default value for the start_date - 7 days
OK I get this display today date but how to get that displays a date-7 days?
< %
DateFormat df = new SimpleDateFormat ("JJ. MM.yyyy");
Date date = new Date();
String default = 'StartDate =' + df.format (new Date());
% >
ID
Thank youSimple approach if you're not worried about leap years: -.
Date todayMinus7 = new Date(System.currentTimeMillis() - 7 * 24 * 60 * 60 * 1000);
Alternatively take a look at the GregorianCalendar class and the add() method.
-
Monday the 1st business day of the month of 15 before and after 15.
I want to choose the 1st Monday with the business day (Y) of a month (january), owned by the 15th of the month and after the 15th of the month.
Whereas it should be 2 folders, 1 record should be before the 15th of the month with the word 'Monday' & Holiday (N) and 2nd record should be based on the 15th of the month
with the word 'Monday' & Holiday (N).
Table:-holiday
Column
---------
Time_Date - holiday - Time_Day
2011-01-01 00:00:00 - N - Tuesday
Please let me know the oracle query.
Thanks and greetings
R Rodriguez
Edited by: 880353 August 19, 2011 05:14It's almost like this... just a matter of playing with the SQL to reorganize the command:
Select
min (case when TIME_DATE between trunc(sysdate,'MM') and trunc (sysdate, 'MM') + 13 and)
H.HOLIDAY = ' only then end TIME_DATE to another null) «FIRST»,
min (case when TIME_DATE between trunc (sysdate, 'MM') + 14 and last_day (sysdate) and)
H.HOLIDAY = ' only then end TIME_DATE to another null) "FIRST > = 15.
Holiday h.
(select next_day (trunc(sysdate, 'MONTH')-1, 'Monday') + 7 *(level-1) double DD
connect by level<= 5)="">=>
where M.DD = h.TIME_DATE -
How to get the number of days in a month of belonging to a range of dates
Hi, I'm going crazy around a problem, I have 2 dates and one month I wanto to retrieve the number of days belonging to the months that fall within the range.
for example:
month of January 2011. begin_date = January 11, 2011, May 30, 2011 end_date result is 21
month of January 2011. begin_date = December 11, 2010, result of end_date, January 10, 2011 10
month January 2011 .begin_date = 2 February 2011, end_date may 25, 2011 result 0
month of January 2011. begin_date = January 3, 2011, January 5, 2011 result DATE END 3
and so on...
I appreciate any suggestion
Thank you
AndreaSomething like that... ?
SQL> with t as 2 (select to_date('11/01/11','dd/mm/yy') from_dt, 3 to_date('30/05/11','dd/mm/yy') to_dt, 4 'Jan-11' mnth from dual) 5 select least(last_day(to_date(mnth,'Mon-yy')),to_dt) - 6 greatest(to_date(mnth,'Mon-yy'),from_dt) cnt 7 from t ; CNT ---------- 20
If 0 is also expected...
SQL> with t as 2 (select to_date('11/01/11','dd/mm/yy') from_dt, 3 to_date('30/05/11','dd/mm/yy') to_dt, 4 'Jan-11' mnth from dual union all 5 select to_date('11/01/11','dd/mm/yy') from_dt, 6 to_date('30/05/11','dd/mm/yy') to_dt, 7 'Jan-12' mnth from dual 8 ) 9 select from_dt,to_dt,mnth, 10 greatest( 11 least(last_day(to_date(mnth,'Mon-yy')),to_dt) 12 - 13 greatest(to_date(mnth,'Mon-yy'),from_dt) 14 ,0) cnt 15 from t; FROM_DT TO_DT MNTH CNT --------- --------- ------ ---------- 11-JAN-11 30-MAY-11 Jan-11 20 11-JAN-11 30-MAY-11 Jan-12 0
Published by: JAC on February 9, 2012 19:22
-
Hai bloggers,
See us have 365 days a year for all first half we'll have 180 + days (if we choose first half as the guest and we select week as guest number and the last date of this particular week must indicate in the report) and the number of days until this date or a week should also display... If we choose the second half and half week number it should show number of days until this week and more Date of this issue of the day week should be from 1 to 180 + only way (July 1 m is 1)
Thank youYou must use the timestampdiff function to calculate the number of days. One of the way to calculate is how
cases where "Time". "" Calendar semester "= 1 then timestampdiff (SQL_TSI_DAY, CAST (EVALUATE ('TO_DATE (%1, %2)','' 01-01 |' @{YEAR} {2010}',"DD-MM-YYYY") AS DATE), cast OFF (EVALUATE ('TO_DATE' (1%, 2%), 30-06' |' @{YEAR} {2010}',"DD-MM-YYYY") AS DATE)) else timestampdiff (SQL_TSI_DAY, MOUNT (EVALUATE ('TO_DATE (%1, %2)','01-07' |' @{YEAR} {2010}',"DD-MM-YYYY") AS DATE), cast OFF (EVALUATE ('TO_DATE' (1%, 2%),' 31-12 |' @{YEAR} {2010}',"DD-MM-YYYY") AS DATE)) end
If you want to calculate between the 1st day of the half and the last date a week then after
cases where "Time". ' ' Calendar semester ' = 1 then timestampdiff (SQL_TSI_DAY, CAST (EVALUATE ('TO_DATE (%1, %2)','01-01' |' @{YEAR} {2010}', 'DD-MM-YYYY') AS DATE), MAX (MAX ("Time".) "Calendar Date"))) else timestampdiff (SQL_TSI_DAY, CAST (EVALUATE ('TO_DATE (%1, %2)','01-07' |' @{YEAR} {2010}', 'DD-MM-YYYY') AS the DATE), MAX (MAX ("Time".) " End Calendar Date")))
Hope that it will answer your question
Thank you
Phani. -
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 5OUTPUT 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-1Kind 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
-
Calculate the last business day
Hello
I use Oracle Database 11.2.1 and wants to return to the last day of work (JJ/MM/AAAA).
Working days Monday to Friday delivery
for example on Sunday, 18 June 2000, the returned value would be Thursday, June 15, 2000sliderrules wrote:
I wanted to say the days of the weekfor example, Monday, May 13, 2013 would return 10/05/2013
Tuesday, May 14, 2013 would return 13/05/2013 etc.What the earlier query?
SQL> with t as 2 ( 3 select to_date('13/05/2013 ','dd/mm/yyyy') dt 4 from dual 5 union all 6 select to_date('14/05/2013 ','dd/mm/yyyy') dt 7 from dual 8 ) 9 select dt,dt - 10 case to_char(dt,'fmday','nls_language=english') 11 when 'sunday' then 2 12 when 'monday' then 3 13 else 1 14 end last_w_day 15 from t; DT LAST_W_DA --------- --------- 13-MAY-13 10-MAY-13 14-MAY-13 13-MAY-13
-
How to get the last day of the weekend rather than a month
Hi all
Is the request appropriate and preferable to use to get the last business day of the month below?
SELECT to_date('13.08.2014','dd.mm.yyyy') + MAX(RNUM) LastDay(nonweekend) FROM (SELECT ROWNUM RNUM FROM ALL_OBJECTS where rownum <=31) WHERE ROWNUM <= 31 ANd TO_CHAR(to_date('13.08.2014','dd.mm.yyyy') + RNUM, 'DY','NLS_DATE_LANGUAGE=ENGLISH' ) NOT IN ('SAT' , 'SUN') and to_date('13.08.2014','dd.mm.yyyy') + RNUM <= last_day(to_date('13.08.2014','dd.mm.yyyy'))
I have to use this motion for production.
East - recommended to use?
You can change your query this way:
WITH t AS (SELECT trunc (to_date ('& calc_date', 'dd.mm.yyyy'), 'mm') + level - 1 calc_date)
OF THE DOUBLE
CONNECT BY LEVEL<= last_day(to_date('&calc_date',="" 'dd.mm.yyyy'))="" -="" trunc(to_date('&calc_date',="" 'dd.mm.yyyy'),="" 'mm')="" +="">=>
)
Select max (calc_date)
t
where to_char (calc_date, 'DY', 'NLS_DATE_LANGUAGE = ENGLISH') NOT IN ("SAT", "Sun");
Maybe you are looking for
-
I have Avira version 14 and Firefox deleted/added to the allowed sites but still does not!
When I run Firefox it just barattes away and expires. Sometimes, if I just leave, after ten/twenty minutes he'll run v, v slowly. I uninstalled and installed Firefox. I have the latest version of Avira [14] and deleted Firefox and added to the allowe
-
630 HP: Breaking imminent hard drive
Messages failed hard drive Windows 7 biennial at regular intervals. Checkdisk and defrag show no problem. Restart now prompst to use the SMART drive diagnostic, but does not immediately and offers code: 64B7HS-MFKTIG-60BB03 QUESTION: what chance is t
-
I've had printers serval of installation with connected HP and ePrint to print from Chromebooks, all tested and working. Today, they're all gone. I had 3 printers with one account and another impression with a completely separate account. The two acc
-
Try to download kodak sharing easy and all I get is "APPCRASH".
I HAVE WINDOWS VISTA AND NORTON SECURITY
-
Try to install the old game of window 95 on my windows 7...
I have an old windows 95 game called Shivers. I would like to install on my windows 7, I have home premium. I tried a lot of things. I tried to click with the right button on setup.exe/properties and making it compatible with different versions, als