How to get no of days using oracle date function
Dear all,
i need different output from this query mentioned below.
suppose i have execute this query.
sql> select add_month(SYSDATE, -1 * 6) finaldate from dual;
it will give the output as
sql>FINALDATE
05-JUL-2009 13:46
now i need to get the total no days from the same query that means it should calculate the total no of days from july to current date and give the output.
if you can give any hint.
Regards
Laxman
Oracle supports date arithmetic and uses day as a unit.For example, number of days from July 1, 2009 to SYSDATE
SQL> SELECT SYSDATE - DATE '2009-07-01'
2 FROM DUAL
3 /
SYSDATE-DATE'2009-07-01'
188.386968
SQL> SY.
Similar Messages
-
How to get GMT or IST using PL/SQL FUNCTION
Hello I am using Oracle 10G database (OS: Windows-32 and Windows-64).
How can i get the date and time GMT or International time without referring SYSDATE / DBDATE.
Actual problem the DB-Sever date/time is frequently manipulated by end user and i want to log the actual date and time of transaction in some audit table.
Regards,
TarunIt won't increase your server load, you'd simply have a lot of http wait events and the performance of your application would depend on your customers internet connection. Something not very desireable if you ask me, and most certainly will cause you headaches. Really bad headaches, and one day someone will ask who came up with the brilliant idea to get the system timestamp via http instead of...+sysdate+ (I smell a http://thedailywtf.com/ article coming up).
Anyway; here it goes: the http based sysdate function. I am using mod_plsql for my "webservice" running on a server from where I trust the date is correct. You can use anything you like, for a "real" webservice, the implementation will be a little bit different than that. Google would know the answer on how to call webservices from the database.
$[CHE_TEST@asterix1_impl] create or replace procedure server_time as
2 begin
3 htp.print(to_char(sysdate, 'dd.mm.yyyy hh24:mi:ss'));
4 end;
5 /
Procedure created.As you can see the procedure does nothing else then outputting the sysdate of my database server in a specified date format. Then, on a different server I call the mod_plsql procedure via utl_http:
$[CHE_TEST@asterix2_al32utf8] create or replace function get_server_time return date is
2 begin
3 --default would be 60, this is clearly too much
4 utl_http.set_transfer_timeout(1);
5 return to_date(utl_http.request('http://ias4/asterix1_impl_cronet/server_time'), 'dd.mm.yyyy hh24:mi:ss');
6 exception
7 when utl_http.REQUEST_FAILED then
8 return sysdate;
9 end;
10
11 /
Function created.Now get_server_time will give me the time of my first database server (except the HTTP Request fails for some reason, then it'll be sysdate)
$[CHE_TEST@asterix2_al32utf8] select get_server_time from dual;
GET_SERVER_TIME
24.07.2012 13:35:00Again if you are going down that road use the function carefully and not in every end of your application as it will give you performance problems.
cheers -
Need help on how to create the simple mapping using ORACLE DATA INTEGRATOR
Hi guys,
am new to learn odi.. please share me or steps how to develop the simple mapping using ODI...Hi,
I am a newbie to Oracle Data Integrator as well. You should have a look here first; http://www.business-intelligence-quotient.com/?p=379
Try to play around with ODI and then come back if you have specific questions. You should better move to this ODI-forum; Data Integrator
Good Luck,
Daan Bakboord
http://obibb.wordpress.com -
How to get diff of days between 2 dates
Hi,
I have a given date . I am looking for a simple way to get the difference of days between the 2 date like :
currentDay - givenDate Day > 20 .
I am using calendar for this. MyCode:
java.util.Calendar calendar1 = Calendar.getInstance();
calendar1.set(2003, 08,16);
int userCreatedDay = calendar1.get(Calendar.DAY_OF_YEAR);
java.util.Calendar calendar2 = Calendar.getInstance();
int currDay = calendar2.get(java.util.Calendar.DAY_OF_MONTH);
int currYear = calendar2.get(java.util.Calendar.YEAR);
int currMonth = calendar2.get(java.util.Calendar.MONTH);
int days= currDay - userCreatedDay;
System.out.println("currDay:"+currDay+",createDay:"+userCreatedDay);
System.out.println("Days left:"+currDay - userCreatedDay);
if(days > 14) return true;
o/P:
currDay:266,createDay:249
Days left : 17
If i calculate today diff of days in only 7. I am not able to understand why the result is being displayed as 17.
Is there anything wrong i am uisng this class.
Please, helpPersonally, I do not like using the calendar class for this sort of thing. Why? Weel lets look at two simple dates: 4th of July 1777 and 21st March 2003.
So I would create 2 GregorianCalendar objectsGregorianCalendar independenceDay = new GregorianCalendar (1777, 6, 4);
GregorianCalendar startOfIraqWar = new GregorianCalendar (2003, 2, 12);Now what do these contain? Well, here is the output (cut down for clarity)...
independenceDay = [time=?, YEAR=1777,MONTH=6,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,
DAY_OF_MONTH=4,DAY_OF_YEAR=?,DAY_OF_WEEK=?,
DAY_OF_WEEK_IN_MONTH=?]
startOfIraqWar = [time=?, YEAR=2003,MONTH=2,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,
DAY_OF_MONTH=12,DAY_OF_YEAR=?,DAY_OF_WEEK=?,
DAY_OF_WEEK_IN_MONTH=?]
So what don't I like? All the useful fields are not filled in. They ***could*** be calculated by the constructor, but they aren't, particularly things like DAY_OF_YEAR, which would ease calculation enormously.
What I would really like to see in GregorianCalendar is a diff() method which takes a GregorianCalendar as its argument and returns a time difference. In fact, you may want several, or an additional argument daying how you want the diff returned (days, years, seconds). -
How to get difference in days between 2 dates excluding weekends
Hi all,
i have a requirement, to calculate the difference between 2 dates, in days.
eg: 01/08/2007 and 05/08/2007.
Difference = 4 days.
But here my actual requirement is i have to calculate this difference excluding weekends (saturday n sundays).
eg: 01/08/2007 -
Thursday
05/08/2007 -
Monday
so now Difference = 2 days.
Please help me regarding this.
Points will be rewarded for helpfull answers.
Thanks in Advance.
Regards,
Vineelsee these codes of rich
report zrich_0003.
data: begin of itab occurs 0,
datum type sy-datum,
end of itab.
data: weekday like dtresr-weekday.
data: number_lines type i.
parameters: p_sdatum type sy-datum,
p_edatum type sy-datum.
itab-datum = p_sdatum.
append itab.
do.
if itab-datum = p_edatum.
exit.
endif.
itab-datum = itab-datum + 1.
call function 'DATE_TO_DAY'
exporting
date = itab-datum
importing
weekday = weekday.
if weekday = 'Sat.'
or weekday = 'Sunday'.
continue.
endif.
append itab.
enddo.
describe table itab lines number_lines.
write:/ 'Number of days between dates is', number_lines.
and
report zrich_0001.
parameters: p_start type sy-datum,
p_end type sy-datum.
data: idays type table of rke_dat with header line.
data: workingdays type i.
call function 'RKE_SELECT_FACTDAYS_FOR_PERIOD'
exporting
i_datab = p_start
i_datbi = p_end
i_factid = 'P8' " Fact Calender ID
tables
eth_dats = idays
exceptions
date_conversion_error = 1
others = 2.
describe table idays lines workingdays.
write:/ workingdays.
I want to find the No.of working days between the two dates
regards,
srinivas -
How to get the last day of a month?
HI,
I want to know how to get the last day of a month.
In my JClient form, I tried to get it by using oracle.sql.Date method, that is:
lastday=oracle.sql.Date anydate.lastDayOfMonth();
But it does not work. The result is lastday=anydate.
Why?
StephenYou can use the Calender class...
Calendar c = Calendar.getInstance();
and then something like...
c.add(c.MONTH, 1);
int dayOfMonth = c.get(Calender.MONTH);
c.add(c.DAY_OF_MONTH, - (dayOfMonth-1) );
other usefull functions are:
System.out.println(" YEAR : " + c.get(Calendar.YEAR));
System.out.println(" MONTH : " + c.get(Calendar.MONTH));
System.out.println(" DAY_OF_MONTH : " + c.get(Calendar.DAY_OF_MONTH));
System.out.println(" DAY_OF_WEEK : " + c.get(Calendar.DAY_OF_WEEK));
System.out.println(" DAY_OF_YEAR : " + c.get(Calendar.DAY_OF_YEAR));
System.out.println(" WEEK_OF_YEAR : " + c.get(Calendar.WEEK_OF_YEAR));
System.out.println(" WEEK_OF_MONTH : " + c.get(Calendar.WEEK_OF_MONTH));
System.out.println(" DAY_OF_WEEK_IN_MONTH : " + c.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println(" HOUR : " + c.get(Calendar.HOUR));
System.out.println(" AM_PM : " + c.get(Calendar.AM_PM));
System.out.println(" HOUR_OF_DAY (24-hour): " + c.get(Calendar.HOUR_OF_DAY));
System.out.println(" MINUTE : " + c.get(Calendar.MINUTE));
System.out.println(" SECOND : " + c.get(Calendar.SECOND));
System.out.println();*/ -
How to get the last day of the week?
Hii
i can get the calender week number for any given date using
SELECT to_char(to_date('04/04/2011','MM/DD/YYYY'),'WW') FROM dual
can any body tell me, how to get the last day of that week ?
and the answer should be 04/08/2011(8th april )
thanks
San
Edited by: sandeep9 on Apr 4, 2011 3:50 AMHi, San,
Here's one way:
WITH sample_data AS
SELECT DATE '2011-04-04' AS dt
FROM dual
SELECT dt
, TO_CHAR (dt, 'WW') AS week_num
, NEXT_DAY ( dt - 1
, TO_CHAR ( TRUNC (dt, 'YEAR') - 1
, 'Day'
) AS end_o_week
FROM sample_data;Another way is to use date arrithmetic:
WITH sample_data AS
SELECT DATE '2011-04-09' AS dt
FROM dual
SELECT dt
, TO_CHAR (dt, 'WW') AS week_num
, TRUNC (dt, 'YEAR')
+ (7 * CEIL ( (dt - (TRUNC (dt, 'YEAR') - 1))
/ 7
- 1 AS using_date_arithmetic
FROM sample_data; -
Hi,
Requirement: Get Windows User Name using Oracle Web Forms 6i.
Tools Using: Windows NT, Oracle web forms 6i, Oracle 10g DB.
Description: I am using GetClientInfo JBean from otn.oracle.com, which gets windows user name, IP address and machine name. The demo I got from oracle web site uses Jinitiator version 1.1.7.18. While we are using the latest version Jinitiator 1.3.1.17. Due to this reason, I am unable to use Javakey which comes with older version but doesn't come with newer version, that's why I can't create the new JavaBean Java identity (PJC).
Please advise what to do. All environment variables are set everything is done, this is the only thing bothering me.
I went through the article 202768.1 from metalink, but on step 5, it gives an error keytool error: java.lang.Exception: Input not an X.509 Certificate.
Also, please let me know if there is any other workaround for this requirement.
Thanks & Best Regards,
MoHi,
Thanks for your kind reply. Actually there was a problem in creating a certificate, now it is okay with the same method. Certificate got imported on client and everything is ready.
Now, the problem is when I try to set Bean Area Implementation Class property with oracle.forms.demos.GetClientInfo, it gives an error FRM-13008 Cannot find JavaBean with name 'oracle.forms.demos.GetClientInfo'.
I went through the articles 1072329.6, 196824.1, and set ClassPath and Path variables with proper values. Also, I have copied jar file and signature file in forms60/java folder. I don't see any problems. Please let me know what I am doing wrong. My limitation is that I have to do all this in forms6i.
I searched forums on metalink and found out that someone installed Patch 15, and everything went okay for him. Do you think I should install Patch 15? if YES, how will I do it, I mean should I first uninstall my forms and then install patch15 or install the patch on my forms?
Thanks so much for your help.
Thanks & Best Regards,
Mo -
How to get the first day in the month from a domain date ?
Hi,
I like to know how to get the first day in the month from a domain date?
Thanks
StephenHi Gokul...
Instead of using the funtion module you can just write the 3 statements of code to get the first day of the week.
Its similar to the above one but instead of writing case statement you can achive the following.
data : w_res type i,
w_data type d,
w_res = w_date mod 7.
w_date = w_date - w_res.
write w_date.
This works.
Regards,
Siddarth -
How to get the FIRST DAY OF THE CURRENT MONTH
how to get the FIRST DAY OF THE CURRENT MONTH in oracle 9i.
plzzzzz send immedaily.advance thanksTEST@test SQL> select trunc(sysdate,'MON') from dual;
TRUNC(SYS
01-OCT-06
TEST@test SQL> -
How to get pivot table by using dates
Hi,
How to get pivot table by using dates in column.
Below is the sample table and its value is given.
create table sample1
Order_DATE DATE,
order_CODE NUMBER,
Order_COUNT NUMBER
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('30-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),1,232);
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('30-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),2,935);
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('30-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),3,43);
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('30-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),4,5713);
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('30-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),5,11346);
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('29-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),1,368);
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('29-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),2,1380);
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('29-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),3,133);
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('29-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),4,7109);
Insert into sample1 (Order_DATE,order_CODE,Order_COUNT) values (to_timestamp('29-SEP-12','DD-MON-RR HH.MI.SSXFF AM'),5,14336);
select * from sample1;So how to get the data like below.
order_date
order_code 30-sep-12 29-sep-12
1 232 368
2 935 1380
3 43 133
4 5713 7109
5 11345 14336Using the extra data I inserted in my previous reply:select ORDER_CODE,
SUM(DECODE(extract (month from ORDER_DATE),1,ORDER_COUNT,0)) JAN,
SUM(DECODE(extract (month from ORDER_DATE),2,ORDER_COUNT,0)) FEB,
SUM(DECODE(extract (month from ORDER_DATE),3,ORDER_COUNT,0)) MAR,
SUM(DECODE(extract (month from ORDER_DATE),4,ORDER_COUNT,0)) APR,
SUM(DECODE(extract (month from ORDER_DATE),5,ORDER_COUNT,0)) MAY,
SUM(DECODE(extract (month from ORDER_DATE),6,ORDER_COUNT,0)) JUN,
SUM(DECODE(extract (month from ORDER_DATE),7,ORDER_COUNT,0)) JUL,
SUM(DECODE(extract (month from ORDER_DATE),8,ORDER_COUNT,0)) AUG,
SUM(DECODE(extract (month from ORDER_DATE),9,ORDER_COUNT,0)) SEP,
SUM(DECODE(extract (month from ORDER_DATE),10,ORDER_COUNT,0)) OCT,
SUM(DECODE(extract (month from ORDER_DATE),11,ORDER_COUNT,0)) NOV,
SUM(DECODE(extract (month from ORDER_DATE),12,ORDER_COUNT,0)) DEC
from SAMPLE1
where trunc(order_date, 'YY') = trunc(sysdate, 'YY')
group by order_code
order by order_code;
ORDER_CODE JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
1 0 0 0 0 0 0 0 0 600 600 0 0
2 0 0 0 0 0 0 0 0 2315 2315 0 0
3 0 0 0 0 0 0 0 0 176 176 0 0
4 0 0 0 0 0 0 0 0 12822 12822 0 0
5 0 0 0 0 0 0 0 0 25682 25682 0 0Now a bit of explanation.
1) Whenever you pivot rows to columns, no matter what version of Oracle and no matter what method you use, you have to decide in advance how many columns you are going to have and what the names of the columns are. This is a requirement of the SQL standard.
2) I use the WHERE clause to get just the data for this year
3) With EXTRACT, I get just the month without the year.
4) Using DECODE, I put every month's data into the correct column
5) Once I do all that, I can just GROUP BY order_code while SUMming all the data for each month. -
How do i get number of days between 2 dates?
How do i get number of days between 2 dates?
and the result must be in int.
for example
Ex. startdate: 2006-06-01 enddate: 2006-06-30 and the result is: 30
how to do so? thxmel
Iv'e used this method. It assumes startdate,enddate and days have been defined before but you could pass them as args.
void days()
try
Date d1 = DateFormat.getDateInstance().parse(startdate);
Date d2 = DateFormat.getDateInstance().parse(enddate);
long days = (d2.getTime()-d1.getTime())/1000/60/60/24;
days = ""+days;
catch (ParseException e)
System.out.println("Invalid date format");
}It actually gets the duration in ms and divides down to days.
Regards
Chris -
How can i get number of days between two dates represented by two dates?
how can i get number of days between two dates represented by two date objects. One is java.sql.Date, the other is java.util.Date?
tej_222 wrote:
But how do I do that conversion. from java.sql.date and java.util.date to calender?
-thanks for the quick response.You may find the following utility code samples useful:
[http://balusc.blogspot.com/2007/09/calendarutil.html]
[http://balusc.blogspot.com/2007/09/dateutil.html]
ganeshmb wrote:
(date1.getTime() - date2.getTime())/(1000*60*60*24) should do.
getTime returns millsecond value of date object and the difference divided by no of milliseconds in a day should fetch you the difference in terms of days.This doesn't respect the DST. Use java.util.Calendar. -
How to get the last day according to fiscal period input in selection scree
Hello expert
how to get the last day of fiscal period input.
the fiscal period inculdes 1-16
when fiscal period is greater than 12, only calculate the last day of 12nd month
your solution will be apprecaited, FM existing?
thank you
KevinHi,
when you give a particular date in any month
the following fm will give you the last date of that month
here you can give
R_FDATE-HIGH as 01 and month as the period you wnat and year for current year
concatenates '01' month year into r_fdate-high separated by '.'.
then it will give g_ltdt for that month and year which wil be the last date of that month
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = R_FDATE-HIGH
IMPORTING
LAST_DAY_OF_MONTH = G_LTDT
EXCEPTIONS
DAY_IN_NO_DATE = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
thanks & regards,
Venkatesh -
How to get web application to use Tuscany without conflicting with SAP SDO
Hi,
We are attempting to run a web application on SAP NetWeaver CE 7.1 SP1 which uses Tuscany SDO. As it now stands We must use Tuscany because the web application will not run with the SAP SDO implementation provided by Netweaver. To ensure that Tuscany is loaded with priority, we have packaged the Tuscany JAR files and their dependencies as a heavy resource, as described here:
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60642a88-95fe-2b10-d387-a245d48fc257?overridelayout=true
The final check showed that Tuscany was correctly deployed as a heavy resource and included the following JAR files:
common-2.2.3.jar
ecore-2.2.3.jar
ecore-change-2.2.3.jar
ecore-xmi-2.2.3.jar
tuscany-sdo-impl-1.1.1.jar
tuscany-sdo-lib-1.1.1.jar
tuscany-sdo-tools-1.1.1.jar
xsd-2.2.3.jar
We also verified that the web application using Tuscany has a hard reference to the Tuscany heavy resource.
However, when we try to run the web application, the following error is logged: java.lang.LinkageError: Class commonj/sdo/DataGraph violates loader constraints
The issue is definitely due to some kind of classloading conflict with the SAP SDO library, as the application runs normally when SAP SDO is manually removed from the classpath. Doing this on a production system is unfortunately not an option, though.
So the question is: how to get web application to use Tuscany without conflicting with SAP SDO?I took a look at the "printerReady" example. Looks like I may be able to use the InetPing (...) function to ping through a range of IP addresses looking for a response.
Any ideas on how to find the MAC address associated with the IP addresses that respond?
We may have multiple units responding and the MAC address will allow the operator to determing which unit to connect to.
I'll try the InetPing to see how it works,
Kirk
Maybe you are looking for
-
Plz help
-
ADS Error Transaction system failure in method rpData
Hi, just wondering if anybody has experienced this error and would have a clue. In one of our environments, ADS server returns this error for a few of our forms. These same forms work in all our other environments. And most of our forms DO work in th
-
How do I restore iPhone from cloud
Apple store initialized my new iPhone5 and now I need to restore all my data and apps from the cloud backup from my iPhone 4. I can see the backup on the cloud but can't find a restore button.
-
Data Anomalies on DS 5.2 - large allocation for small # of entries
I have 2 DS 5.2 systems running on Red Hat ES 3. These systems have only 1.5 million entries , yet are using over 16G of storage . Recently we had 200k were of updates, and added almost 2G worth of storage. Read performance is excellent, adds / updat
-
My iphone4 when connected to any computer will not charge and is constantly connecting and disconnecting. It does the same with itunes so it doesnt really sync. Also when talking to someone, all of a sudden they cant hear me.