days between two dates, excluding Saturday and Sunday
HelloI have an obligation as: there are two entries in the query 1) startdate and 2) end date when the end user enter the start date and end date of the sql query to retrieve the number of days between given dates of beginning and end, and it should be retrivied with two condition 1) every Sunday between the above dates excluded 2) second and fourth Saturday of the month between the start dates and should be excluded.
example of start date: 01-May-09
end date: 16-May-09
release date: 13
SELECT COUNT (*)
(SELECT TO_DATE('01-may-09') + LEVEL - dates 1)
OF THE DOUBLE
CONNECT BY LEVEL<= (to_date('16-may-09')="" -="" to_date('01-may-09'))="" +="" 1)="">=>
WHERE ((TO_CHAR (inner.dates, 'd') = 7
AND TO_CHAR(inner.dates, 'W') NOT IN (2, 4)
)
GOLD TO_CHAR (inner.dates, 'd.') not in (1.7)
);
Tags: Database
Similar Questions
-
How to get the date between two dates, except Saturday and Sunday
Dear all,
The query above returns the following outputselect to_date('25-04-2012', 'DD-MM-YYYY') + rownum -1 dt from dual connect by level <= to_date('05-05-2012', 'DD-MM-YYYY') - to_date('25-04-2012', 'DD-MM-YYYY') + 1;
Here, I need to exclude Dates that lights up "Saturday" and "Sunday" and also the joint birthday partyDT DT 04/25/2012 04/26/2012 04/27/2012 04/28/2012 04/29/2012 04/30/2012 05/01/2012 05/02/2012 05/03/2012 05/04/2012 05/05/2012
Here it is May 1, 2012 "and I need the output as follows,
I need the current request to calculate between two dates.04/25/2012 04/26/2012 04/27/2012 04/30/2012 05/02/2012 05/03/2012 05/04/2012
Can anyone suggest me?
Thank you
Regsrds,
gurujothiselect dt from( select to_date('25-04-2012', 'DD-MM-YYYY') + rownum -1 dt from dual connect by level <= to_date('05-05-2012', 'DD-MM-YYYY') - to_date('25-04-2012', 'DD-MM-YYYY') + 1 ) where to_char(dt,'fmday') not in ('sunday','saturday')
To exclude, common holiday, you must have a host table. Then use an OUTER JOIN NOT IN or NOT EXISTS
-
JavaScript anomaly on the number of days between two dates
Use ApEx 4.0, I found an anomaly in a javascript code that calculates the number of days between two dates, the current_date and the past_date. If the past and present is the or before March 10, 2013, and the current_date lies between 10 March 2013 and November 3, 2013, the number of days will be from 1 day to less than the actual number. Between November 3, 2013 and on 4 November 2013, the increments of number by 2, then the count will be accurate from this date forward.
Here are some examples:
March 10, 2013 = 69 days of December 31, 2012
March 11, 2013 = 69 days of December 31, 2012
March 12, 2013 = 70 days of December 31, 2012
November 3, 2013 = 306 days in December 31, 2012
November 4, 2013 = 308 days in December 31, 2012
11 March should be 70 and 12 March should be 71. November 3 is 307 and 4 November corrects the number of fake, which began March 11.
Change the past_date to March 10, 2013 produces the following:
March 10, 2013 = 0 days of March 10, 2013
March 11, 2013 = 0 days of March 10, 2013
March 12, 2013 = 1 days of March 10, 2013
But change the past_date to 11 March 2013, product of the correct numbers:
March 11, 2013 = 0 days of March 11, 2013
March 12, 2013 = 1 days of March 11, 2013
March 13, 2013 = 2 days of March 11, 2013
I would certainly all help to determine the cause of this anomaly. Here's the javascript code:
var w1 = ($v ("P48_PAST_DATE"));
W1 = (w1.toString ());
vmon var = (w1.substr (3.3));
vyr var = (w1.substr (7));
var r = (vyr.length);
If (r == 2)
vyr. = (parseFloat (vyr) + 2000);
vday var = (w1.substr (0.2));
var y = (vmon.concat ("", vday, ",", vyr));
y = Date.parse (y);
var w2 = ($v ("P48_CURRENT_DATE"));
var vmon2 = (w2.substr (3.3));
var vyr2 = (w2.substr (7));
var vday2 = (w2.substr (0.2));
var x = (vmon2.concat ("", vday2, ",", vyr2));
x = Date.parse (x);
var numdays = (x - y);
numdays = (Math.floor(numdays / 86400000));
$s ("P48_NUMBEROFDAYS", numdays);Did you google for something like "javascript number of days between two dates. I think you will find the explanation to this observation:
This method does not work correctly if there is an advanced economies jump between the two dates.
There are examples available to calculate the difference between two dates.
-
How to calculate the date fields while excluding Saturday and Sunday
Hi, I use Jdeveloper 11.1.3.4
I have an Oracle database and creates a table called holiday with 3 attributes:
user (VARCHAR)
(early)
end (date)
The idea is that you subtract the finish from the beginning and get a number of vacation days used. The thing is that the sum should exclude Saturday and Sunday.
Any way to do it?/* Formatted on 6/1/2011 7:57:32 AM (QP5 v5.149.1003.31008) */ WITH t AS ( SELECT id, MAX (strt) strt, MAX (finish) finish, SUM (dys) days_off FROM (SELECT id, strt, finish, CASE WHEN TO_CHAR (dy, 'day') LIKE 'saturday%' THEN 0 WHEN TO_CHAR (dy, 'day') LIKE 'sunday%' THEN 0 ELSE 1 END dys FROM vacations MODEL PARTITION BY (ID id) DIMENSION BY (0 d) MEASURES (POCETAK strt, KRAJ finish, POCETAK dy) RULES (dy [FOR d FROM 1 TO finish[0] - strt[0] INCREMENT 1] = (NVL (dy[CV () - 1], dy[CV ()]) + 1))) GROUP BY id ORDER BY id) SELECT t.id, t.strt, t.finish, t.days_off, vacations.korisnik, SUM ( CASE WHEN finish < TO_DATE ('01/07/2011', 'dd/mm/yyyy') THEN days_off ELSE 0 END) OVER (PARTITION BY vacations.korisnik ORDER BY t.id) this_years_running_total, SUM ( CASE WHEN finish < TO_DATE ('01/07/2011', 'dd/mm/yyyy') THEN days_off ELSE 0 END) OVER (PARTITION BY vacations.korisnik) this_years_grand_total, SUM ( CASE WHEN finish >= TO_DATE ('01/07/2011', 'dd/mm/yyyy') THEN days_off ELSE 0 END) OVER (PARTITION BY vacations.korisnik ORDER BY t.id) next_years_running_total, SUM ( CASE WHEN finish >= TO_DATE ('01/07/2011', 'dd/mm/yyyy') THEN days_off ELSE 0 END) OVER (PARTITION BY vacations.korisnik) next_years_grand_total FROM t, vacations WHERE t.id = vacations.id
id strt finish daysoff korisnik thisyrruntot thisyrtot netyrruntot nextyrtotal 1 5/25/2011 5/31/2011 5 Kantardzic 5 22 0 26 2 6/6/2011 6/13/2011 6 Kantardzic 11 22 0 26 5 6/1/2011 7/6/2011 26 Kantardzic 11 22 26 26 6 6/16/2011 6/30/2011 11 Kantardzic 22 22 26 26
-
How to find days between two dates in days
Hi, I want to get the days between two dates, expressed in days, how can I do this? For example, I date i.e. 1 October 10, 2013 (Thursday) and 2 as October 13, 2013 (Sunday). How can I get a production of:
Thursday, Friday, Saturday and Sunday, which are the days between Oct. 10-13, 2013. I hope you understand my point. Thank you
You can try something like this
CURSOR LOAD_PROF is
SELECT load_prof1, v_time_profile_day
OF load_profile_test
WHERE profile_day IN (select TO_CHAR(:day1+level-1,'Day')
of the double
connect by level<>
);
Kind regards
S Pax
-
County of days between two dates without weekend
Hello
I need a solution in the query or another thread, which returns the number of days between two dates without considering the weekend (Saturday and Sunday), I have a column of type Date, and return need in the form of a column HH hours and days in another column.
Concerning
JonasHi and welcome to the forum.
Don't forget you can do a search on this forum.
Your question has been asked before.Some other tips:
http://asktom.Oracle.com/pls/asktom/asktom.download_file?p_file=6551242712657900129
http://asktom.Oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:185012348071 -
Calculate the number of days between two dates
Hello
Can someone help please change my formcalc script to calculate the number of working days between two date fields. My script currently calculates the total number of days between two dates, including the weekends which must be excluded from the total.
If
(HasValue (Start_Date1) & HasValue (End_Date1)) then
$
= Date2Num (End_Date1, "YYYY-MM-DD" "en_IE") - Date2Num (Start_Date1, "YYYY-MM-DD" "en_IE") + 1
on the other
""
endif
Any help will be most appreciated.
Thank you.
Check...
(1) you said that you put the script on the event «days1» calculate My sample imitates the variable names used in the original message, "Start_Date1" and "End_Date1". If the names of variables for the start and end dates are different, you will need to modify the script to account for these names.
(2) the Date2Num functions in the calculation of the "totalDays" use the date format "YYYY-MM-DD". If your date habits differ from "YYYY-MM-DD" FormCalc will complain.
Steve
-
Dynamic calculation of the number of days between two dates in a table
Hello
I'm working on request where I dynamically calculate the number of days between two dates in a table.
The calculation must be dynamic, i.e., when I recover the Start_date and End_date and move to the field following (call_duration) in the same row, the difference must be calculated dynamically in this area and make sure the field read-only.
APEX version: 5.0
Hi BO123,
BO123 wrote:
Hello
I'm working on request where I dynamically calculate the number of days between two dates in a table.
The calculation must be dynamic, i.e., when I recover the Start_date and End_date and move to the field following (call_duration) in the same row, the difference must be calculated dynamically in this area and make sure the field read-only.
APEX version: 5.0
one of the way to do this by calling ajax on change of end_date.
See the sample code given below to fetch the resulting duration and making the field read only after calculation
Step 1: Change your page
under CSS-> Inline, put the code below
.row_item_disabled { cursor: default; opacity: 0.5; filter: alpha(opacity=50); pointer-events: none; }
Step 2: Create on demand Ajax process I say CALC_DURATION
Please check Procces Ajax, see line 6.7 How to assign a value to the variable sent by ajax call
Declare p_start_date date; p_end_date date; p_duration number; Begin p_start_date := to_date(apex_application.g_x01); p_end_date := to_date(apex_application.g_x02); --do your calculation and assign the output to the variable p_duration select p_end_date - p_start_date into p_duration from dual; -- return calculated duration sys.htp.p(p_duration); End;
Step 3: Create the javascript function
Change your page-> the function and the declaration of the Global Variable-> put the javascript function
You must extract the rowid in the first place, for which you want to set the time, see line 2
assuming f06, f07 and f08 is the id of the start date, and end date columns respectively, and duration
See no line no 8 how set the value returned by the process of ajax at the duration column
Replace your column to the respective column identifiers in the code below
function f_calulate_duration(pThis) { var row_id = pThis.id.substr(4); var start_date = $('#f06_'+row_id).val(); apex.server.process ( "CALC_DURATION", { x01: start_date,x02: $(pThis).val() }, { success: function( pData ) { // set duration to duration column $('#f08_'+row_id).val(pData); // disable duration column $("#f08_" + row_id).attr("readonly", true).addClass('row_item_disabled'); } }); }
Step 4: choose the end date call the javascript function
Go to report attributes-> edit your Date column end-> column-> Attrbiutes element attributes-> put the code below
onchange="javascript:f_calulate_duration(this);"
hope this helps you,
Kind regards
Jitendra
-
find the difference in days between two dates
Hello world
I'm trying to find out the difference in days between two dates and the execution of the query that I'm passing
SELECT TO_char(sysdate, 'dd/mm/yyyy') - TO_char('15/11/2011', 'dd/mm/yyyy') DAYS FROM DUAL
the error I get is
ORA-01722: invalid number
01722 00000 - "invalid number."
* Cause:
* Action:
Could someone please help.
Thanks in advanceuser10636796 wrote:
Hello worldThanks a lot for all the replies. I am trying to apply it in a statement to my table like this
SELECT trunc (sysdate) - TO_char (date_last_recommended, ' dd/mm/yyyy') DAYS OF recommendation;
SELECT trunc (sysdate) - TRUNC (date_last_recommended) DAYS OF recommendation;
-
Calculate the difference in days between two Dates
Hello
I'm trying to understand how to calculate the difference in days between two dates using JavaScript in LiveCycle. (Minimum = JavaScript knowledge)
Where 'Start_Date' and 'Current_Date' are the names of the two dates in the palette of the hierarchy. (the two Date/time field)
* Current date is using the object > value > execution property > current Date/time
I need a text or number field showing the difference in days. (Difference_in_Days)
I noticed the following code is pretty standard among other responses:
var
Start_date = new Date (Start_Date);
var
Current_Date = new Date (Current_Date);
var
nAgeMilliseconds = Current_Date.getTime) - Start_date.getTime ();
var
nMilliSecondsPerYear = 365 * 24 * 60 * 60 * 1000 ;
I know there is lack of code and code above are may not be not correct.
Please notify.
OK, that's because of the way that javascript and works of the calculate event. The field will be filled with whatever the script resolves at the end of execution. Technically, your script does not have a value because the last thing you do is an assignment to a variable. Change the last line as follows:
Math.ABS ((firstDate.getTime)
((- secondDate.getTime (()) / (oneDay));
(eliminate the variable assignment) and get rid of the app.alert. Your script will "return" (have) regardless of the value of calculation from the East and which will be stored in the field.
-
Behavior of days between two dates
Hello!
If anyone can help? ... with differences in Date? :
All I want is to calculate the number of days between two dates:
InitDate has been entered as 01/10/2010 planning, to recover is 20101001
HireDate was entered into the 1980-10-01 planning, to recover is 19801001
I tried
NumDays = @DATEDIFF (InitDate, HireDate, DP_DAY);
but give me only 0 and -1.
When I try the regular difference:
NumDays = InitDate - HireDate;
He returned to 30,000 (which in the example is 20101001-19801001) - which should not.
I use Essbase/Planning 11.1.1.2, I tried also to break dates in years and months using INT and operations, but when I want to get the calendar days he is ugly. The two dates live in the same block.
Someone at - it an idea?
Thank you very much!Hello
Here's a piece of code in my trunk of code which may help you. This assumes you have string CDF pack (https://www.samplecode.oracle.com/tracker/tracking/linkid/prpl1004/remcurreport/true/template/ViewIssue.vm/id/S441/nbrresults/9)var y1, y2, m1, m2, d1, d2, difx1, difx2;
FIX (SOLUTION YOUR MEMBERS HERE)
"BLOCK MEMBER")Y1=@round ("Date of 1" / 10000,0);
Y2=@round ("Date 2" / 10000,0);
M1=@round (("Date 1"-y1*10000)/100, 0);
M2=@round (("Date 2"-y2*10000)/100, 0);
D1 = ' Date of 1 "-(y1*10000+m1*100);"»
D2 = "Date 2"-(y2*10000+m2*100); "»difx1=@TODATEEX ("mm/dd/yyyy",
@JconcatStrings (@LIST (@JgetStringFromDouble (m2,@_false,@_false), ' / ', @JgetStringFromDouble (d2,@_false,@_false), ' / ', @JgetStringFromDouble (y2,@_false,@_false)))
)
) ;
difx2 = @TODATEEX ("mm/dd/yyyy", @JconcatStrings (@LIST)
@JgetStringFromDouble (m1,@_false,@_false), ' / '.
@JgetStringFromDouble (d1,@_false,@_false), ' / '.
@JgetStringFromDouble (y1,@_false,@_false))
)
);diff=@DateDiff (difx2, difx1, DP_DAY);
)
ENDFIXSee you soon,.
Alp -
Hi all
I need the days between two dates given.
Select to_date('25-mar-2014','dd-mon-yyyy') start_date, end_date to_date('30-mar-2014','dd-mon-yyyy')
of the double
Desired output:
25
26
27
28
29
30
Thanks in advance.
Kind regards
Afzal.
Select the level - 1 desired_output + to_number (to_char (start_date, 'dd'))
of (to_date('25-mar-2014','dd-mon-yyyy') select start_date, end_date to_date('30-mar-2014','dd-mon-yyyy'))
of the double
)
connect by level<= end_date="" -="" start_date="" +="">= >
DESIRED_OUTPUT 25 26 27 28 29 30 Concerning
Etbin
-
How to exclude "Saturday" and "Sunday" in APEX 4.1 count (*)
Hi everybody using APEX 4.1.
The Leave_transaction Table contains the following fields,
1.Leave_id
2.Emp_name
3.From_date
4.To_date
5.Remaining_days
The Emp_Master Table contains the following columns
1.emp_id
2.emp_name
3.Remaining_days
If the date is between from_date and To_date comes Saturday and Sunday, it must exclude, return the count (*) rest of dates,select count(*) into days from (select dt from( select to_date(:p1_from_date, 'DD-Mon-YYYY') + rownum -1 dt from dual connect by level <= to_date(:p1_to_date, 'DD-Mon-YYYY') - to_date(:p1_from_date, 'DD-Mon-YYYY') + 1) where to_char(dt,'fmday') not in ('sunday','saturday') dual;
For example,.
If the From_date is 04-may-2012'
and To_date is 08-may-2012,
Here the dates 5 May and 6 may are "Saturday" and "Sunday".
Then the remaining dates are (excluding sat, Sunday and dates in holiday_table).
04-may-2012,
07-may-2012
08-may-2012.
so
I use the code above but it return 5.count(*) 3
I think that this
.. To_char (dt, 'fmday') if not in ('Sunday', 'Saturday')
code does not work.
Can someone help me solve my problem.Gurujothi wrote:
Great salvation,select to_char(to_date('20120506','yyyymmdd'), 'fmday') from dual;
back on Sunday.
No it's not. You may have typed fmDay? The format is case-sensitive.
sql> select to_char(to_date('20120506','yyyymmdd'), 'fmday') from dual; TO_CHA ------ sunday sql> select to_char(to_date('20120506','yyyymmdd'), 'fmDay') from dual; TO_CHA ------ Sunday
-
Number of occurrences of a day between two dates
Hello
I have a requirement in my code to count the number of times per day occurs between two dates. So, for example if
start date = January 1, 2014
end date = March 31, 2014
The number of times that happens day 1 is three times. That's why I want the result to be 3. My three input parameters are the number of the day, start and end dates. I know that this can be done by parsing through the days and incrementing a counter of sorts, but can it be done without any loop etc?
Looking for options of
Thank you
Birdy
SELECT COUNT (TO_CHAR (DAYS, 'DD')) IN)
SELECT DAYS START_DATE + LEVEL 1
FROM T1
CONNECT BY LEVEL<=>=>
WHERE TO_CHAR (DAYS, 'DD') ='&01';
Post edited by: Parth272025
-
Dynamically calculate the number of days between two dates and amounts of split
Hello
I have searched for a solution for this, but had no success.
I need to show the amounts broken down by days.
I have a table that has an amount column and start and end dates.
I need to write a query so that the amounts will be broken evenly based on the number of days between the start date and end date.
For example, for this line.
insert into my_test values (' 1, '' 3-mar-2010, ' 7 - mar - 2010 ", 1000);
the query returns this (split $1,000 over 5 days)
ID Date amount
1 ' 3-mar-2010' 200,00
1 ' 4-mar-2010' 200,00
1 ' 5-mar-2010' 200,00
1 ' 6-mar-2010' 200,00
1 ' 7-mar-2010' 200,00
create table my_test)
ID number (10),
start_date date,
End_date date,
amount number (10.2)
);
Select * from my_test
insert into my_test values (' 1, '' 3-mar-2010, ' 7 - mar - 2010 ", 1000);
insert into my_test values (2, 10-mar-2010 ", 19-mar-2010", 2000);
insert into my_test values (3, 20-mar-2010 ',' 21-mar-2010, 5000);
Thanks in advance.Hello
One way is to join a Meter of Table , a table, or (more often) a set of results includes a line for eery number 1, 2, 3,... until the maximum number of times you need to divide a line.
For example:WITH cntr AS ( SELECT LEVEL - 1 AS n FROM ( SELECT MAX (end_date - start_date) AS max_day_cnt FROM my_test ) CONNECT BY LEVEL <= 1 + max_day_cnt ) SELECT t.id , t.start_date + c.n AS dt , t.amount / (t.end_date + 1 - t.start_date) AS amt FROM my_test t JOIN cntr c ON c.n <= t.end_date - t.start_date ORDER BY id , dt ;
This assumes that all dates have the same number of hours, minutes, and seconds, as is the case in your sample data.
If this isn't the case, then use TRUNC (start_date) and TRUNC (end_date) instead of start_date and end_date or post some sample data and results if some lines do not represent a whole number of days.
Maybe you are looking for
-
I got it removed from the location of the file several times. The only solution I found is to stop the process in the Task Manager, but it of a pain and should be repeated several times within minutes of each other. How safely get rid of this to alwa
-
How to save the data of different rates in a single VI?
Hello I tried to acquire 2-channel measurement of voltage at 10 kHz and analyze data, finally to save the data to both 1 kHz and 1 Hz. What I did is this loop of producer/consumer use to do the work of recording at different rates. I have queued all
-
When you've been a long game my system hang and see a blue screen?
When you've been a long game my system hang and see a blue screen?
-
backup in the rescue and recovery failed
I tried twice after the reinstallation of the program. What I can do. Thank you! I'll be traveling & want to be able to access.
-
Hi, I noticed an orange light that tells THE POWER comes on, I never noticed before, it's something bad or normal?