How to store the difference between two timestamps as a number?
HelloI need to find the difference between 2 variables of timestamp and the result will be stored as a number in minutes?
as
declare
timestamp (7) of the fir_timestamp: = 1 January 2012 13:30 ';
timestamp (7) of the sec_timestamp: = 1 January 2012 14:00 ';
c number;
Start
c:=((sec_timestamp-fir_timestamp)/(24*60));
dbms_output.put_line (c);
end;
962813 wrote:
declare-fir_timestamp timestamp (7): ='01 - jan - 2012 13:30 ';
timestamp (7) of the sec_timestamp: = 1 January 2012 14:00 '; Incorrect type declarationfir_timestamp timestamp: = 1st January 12 01.30.00.000000 PM';
sec_timestamp timestamp: = 1st January 12 02.00.00.000000 PM';
c number;
Start
c: = ABS ((extrait (HEURE de sec_timestamp) - extract (fir_timestamp TIME)) * 60) +.
ABS ((extrait (MINUTE de sec_timestamp) - extract (fir_timestamp MINUTE)));
dbms_output.put_line (' interval Min Total:-' | c);
end;
/
declare
*
ERROR on line 1:
ORA-01830: date format picture ends before converting all of the input string
ORA-06512: at line 6
Follow what Paul has done...
In fact, you do not need timestamp, date data type is enough
SQL> declare
2 fir_timestamp date :=
3 to_date('01-jan-2012 13:30:00','dd-mon-yyyy hh24:mi:ss');
4 sec_timestamp date :=
5 to_date('01-jan-2012 14:00:00','dd-mon-yyyy hh24:mi:ss');
6 c number;
7 begin
8 c:= round((sec_timestamp-fir_timestamp)*24*60);
9 dbms_output.put_line(c);
10 end;
11 /
30
PL/SQL procedure successfully completed.
If you want to place on timestamp
SQL> declare
2 fir_timestamp timestamp :=
3 to_timestamp('01-jan-2012 13:30:00','dd-mon-yyyy hh24:mi:ss');
4 sec_timestamp timestamp :=
5 to_timestamp('01-jan-2012 14:00:00','dd-mon-yyyy hh24:mi:ss');
6 c number;
7 begin
8 c:= round((
9 to_date(to_char(sec_timestamp,'ddmmyyyyhh24miss'),
10 'ddmmyyyyhh24miss')-
11 to_date(to_char(fir_timestamp,'ddmmyyyyhh24miss'),
12 'ddmmyyyyhh24miss')
13 )*24*60);
14 dbms_output.put_line(c);
15 end;
16 /
30
Tags: Database
Similar Questions
-
How to find the difference between two dates in the presentation layer
Hi gurus,
Hello to everyone. Today, I came with the new requirement.
I need to know the difference between a date and the current date in the formula column application presentation layer.by.
Thank you and best regards,
PratesHi Navin,
TIMESTAMPDIFF function first determines the timestamp component that corresponds to the specified interval setting. For example, SQL_TSI_DAY corresponds to the day component and SQL_TSI_MONTH corresponds to the component "month".
If you want to display the difference between two dates in days using SQL_TSI_DAY, unlike butterflies SQL_TSI_MONTH and so on...
hope you understand...
Award points and to close the debate, if your question is answered.
See you soon,.
Aravind -
How to find the difference between two dates in time except Sunday
Hi all
I have a table, as shown below.
I would like to know the difference between same tr_ids create_time, which should give out in hours except Sunday.SQL> select * from test; TR_ID CREATE_TIME CODE -------------------------------------------------- --------------------------------------------------------------------------- ---------- S12341 05-JUN-12 12.20.52.403000 AM 1003 S12342 11-JUN-12 11.15.33.182000 AM 1003 S12342 07-JUN-12 12.00.36.573000 PM 1002 S12343 20-JUN-12 12.34.37.102000 AM 1003 S12343 15-JUN-12 11.34.27.141000 PM 1002 S12344 01-JUL-12 10.01.06.657000 PM 1002 S12344 06-JUL-12 12.01.04.188000 AM 1003 S12341 31-MAY-12 11.20.38.529000 PM 1002
For example:
TR_ID: S12344
1002_Create_time: July 1, 12 PM 10.01.06.657000 (i.e. Sunday)
1003_Create_time: 12.01.04.188000 AM 6 July 12
1002 create time is 22:00 Sunday.
If the query must exclude only the hours of Sunday which is 10 p.m. to Monday 00 h which is 2 Hrs.
I tried the sub query after doing a search on this forum but I am not getting the desired output.
Need help to get the desired o/pSELECT count(*) FROM (SELECT ROWNUM RNUM,tr_id,create_time CT_1002 FROM test c WHERE c.tr_id='S12344' and ROWNUM <= (select (cast(a.create_time as date)-cast((select create_time from test b where a.tr_id=b.tr_id and code=1002) as date)) from test a where a.code=1003 and a.tr_id=c.tr_id) + 1) d WHERE to_char(cast((select create_time from test e where e.tr_id=d.tr_id and code=1002) as date) + RNUM - 1, 'DY') NOT IN('SUN');
Hello
If I unederstand the problem correctly, that's what you want:
WITH got_extrema AS ( SELECT tr_id , CAST (MIN (create_time) AS DATE) AS start_date , CAST (MAX (create_time) AS DATE) AS end_date FROM test GROUP BY tr_id ) SELECT tr_id , start_date, end_date -- If wanted , 24 * ( ( ( TRUNC (end_date, 'IW') -- Count -1 day for every full week - TRUNC (start_date, 'IW') ) / -7 ) + LEAST ( end_date -- If end_date is a Sunday , TRUNC (end_date, 'IW') + 6 -- consider it 00:00:00 on Sunday ) - CASE WHEN start_date >= TRUNC (start_date, 'IW') + 6 -- If start_date is a Sunday THEN TRUNC (start_date, 'IW') + 6 -- consider it 00:00:00 Sunday ELSE start_date END ) AS total_hours FROM got_extrema ;
I guess that you don't need to worry about fractions of a second. As you did in the code you have posted, I am to convert the TIMESTAMP to date values, because of DATE arithmetic and functions are so much better than what is available for timestamps.
Basically, it's just to find the number of days between start_date and end_date and multiplying by 24, with these twists:
(a) 1 day is deducted for each week between start_date and end_date
(b) if End_date is a Sunday, none of the end_date himself hours are counted
(c) If start_date is a Sunday, then all the start_date himself hours are counted. Why these hours should be counted? Because 1 day is already being deducted for the week which includes start_date, which contains only this Sunday.TRUNC (dt, 'IW') is the beginning of the ISO week containing dt; in other words, 00:00:00 the or before the dt last Monday. This is not the NLS parameters.
Of course, I can't test without some sample data and the exact results you want from these data. You may need a little something more If start_date and end_date are both on the same Sunday.
Whenever you have a problem, please post a small example of data (CREATE TABLE and only relevant columns, INSERT statements) of all of the tables involved.
Also post the results you want from this data, as well as an explanation of how you get these results from these data, with specific examples.
Always tell what version of Oracle you are using.
See the FAQ forum {message identifier: = 9360002} -
How to tell the difference between two dates
Hello:
I have a question on how to get the difference in quantities for two dates in the replies and dashboard.
This is the scenario. I have two guests date and three columns. The first column must be the sum of the amounts for the first quick date. The second column should be the sum of the amounts for the second fast date. And the third column is the difference between the first two columns.
Basically, I'm trying to do something similar to a function of sum of two lines but trying to get the difference between the two rows. Any help to solve this problem would be appreciated.Use the COLUMN FILTERS level...
the first column with the first variable of date quick presentation of the filter
Similarly, the second column in the second variable of quick overview of date filter
Kind regards
Rambeau -
How to calculate the difference between two times by the NUMBERS
I'm so bothered by the fact that I can't understand that.
Cell B2 - 08:00
Cell C2 - 10:50
(How can cell D2 - I get this cell to calculate the difference and say 02:50?)
I know it's probably one of the most basic operations, but for the life of me I can't understand it. The cells B2 and C2 are formatted for a 24-hour clock. But if I tell the system to just subtract the two, I get "0,118. Everything I find on the forum search goes beyond what I need. Can someone help me?
Thank you
Hi sapirs,
Departure and arrival of the cells are in Date and time with Date format: no and time: 24-hour clock.
Formula in D2 (fill down)
= C2−B2
The results become a duration format, but under automatic (numbers automatically worth this format)
If you wish, you can change the cells of lasting results.
What Data Format have your result cells?
Kind regards
Ian.
-
Type of data resulting from the difference between two timestamps
Hi, I have a simple question.
I have two TIMESTAMP A and B variables. Now I want to subtract one B - A. What type of data as a result of this subtraction?
Would Shouln t TIMESTAMP again?
Consider this example:
Thanks for help.DECLARE vdat_Begin TIMESTAMP; vdat_End TIMESTAMP; vdat_Difference TIMESTAMP; BEGIN vdat_Difference := vdat_End - vdat_Begin; -- this doesn't work vdat_Difference := TO_TIMESTAMP(vdat_End - vdat_Begin); -- this works END; / PLS-00382: expression is of wrong type
xxsawer wrote:
Hi, I have a simple question.
I have two TIMESTAMP A and B variables. Now I want to subtract one B - A. What type of data as a result of this subtraction?
Would Shouln t TIMESTAMP again?Consider this example:
DECLARE vdat_Begin TIMESTAMP; vdat_End TIMESTAMP; vdat_Difference TIMESTAMP; BEGIN vdat_Difference := vdat_End - vdat_Begin; -- this doesn't work vdat_Difference := TO_TIMESTAMP(vdat_End - vdat_Begin); -- this works END; / PLS-00382: expression is of wrong type
Thanks for help.
No, as stated, there will be an interval.
-
calculate the difference between two timestamps
Hello
I'm new in PL/SQL and have the following problem. In our application, there are events that insert records into a table with a parameter "processing_date" of type DATE (when they will be processed). For a new type of events, I have to plan the 'processing_date' at 18:00 on the day of insertion, if the event has happened until 18:00 and sysdate if event occurs after 18:00.
In a pseudo-code that will be
IF to_char(SYSDATE,'HH24:MI:SS') > 17:59 min 59 s ' THEN - the event took place after 18:00
processind_date: = sysdate;
Else - the event has happened until 18:00
processing_date: = current_timestamp + ('timestamp at 18:00 ' - current_timestamp); -> processing_date: = today at 18:00
END IF;
I'll appreciate any help.
Thank you.dariusgeo wrote:
processing_date: = current_timestamp + ('timestamp at 18:00 ' - current_timestamp); -> processing_date: = today at 18:00For 18:00 of the current date, you can do:
processing_date := TRUNC(SYSDATE)+18/24;
TRUNC will be truncates the current date ' 00:00:00 '.
Add 18/24 means add 18 hours (1 day / 24 * 18).Kind regards.
AlPublished by: Alberto Faenza 22 may 2013 22:07
-
How to calculate the difference between two numbers in text fields
Hello, I am fairly new to this, and I am certain that I will be bothered by the simple answer is
I do a simple calculation... total of total assets - liabilities = net worth
I have my total assets and my total work of the liability, but is not a subtraction option in the properties of a text field for the Net of a field value.
I don't know... not any script Java can any who help out me?
Thank you
Judy
You can use the option of simplified field notation, but first your input fields names must be changed so that they do not contain spaces or punctuation. For example:
TotalAssets - TotalLiabilities
If you want to use JavaScript, what will be needed if you ever in more complicated calculations, you can use something like the following as the custom fields (net value) calculation script:
(function () {}
Get the values of the field as numbers
var v1 = + getField("total_assets").value;
var v2 = + getField("total_liabilities").value;
calculate the value of this field
Event.Value = v1 - v2;
})();
There are no restrictions on domain names when using JavaScript.
-
difference between two timestamps
Hi gurus,
I have a procedure which has 2 input parameters of type timestamp. I need to find the difference between these two stamps and be converted to a timestamp and return. Help, please
Diifernce between two timestamps is interval. You can not convert the difference between two timestamp timestamp and it makes no sense. What you expect:
25/06/2014 11:25:37.524000 - 13:07:22.987654 20/06/2014
SY.
-
I have a Vistaprogram of the window running on my Toshiba laptop.
In the past, I've confirmed that optional udates be installed. Please help: now I want to uninstall optional updates because my computer is slow. How to tell the difference between recommended, and optional updates long after they have installed bene?
Hey monkey 44,
I suggest you view the history in Windows Update:
http://Windows.Microsoft.com/en-us/Windows-Vista/see-which-Windows-updates-are-installed
Those listed as recommended is technically optional.
Before you delete updates the computer, I suggest you try the steps from the following link to improve performance and check if that helps:
http://Windows.Microsoft.com/en-us/Windows-Vista/ways-to-improve-your-computers-performance
I hope this helps.
-
How to find the difference between standard edition and standard edition one
How to find the difference between oracle database standard edition and standard edition one 64 bit
(a) using sql
(b) using the configuration/installation filesHow to find the difference between oracle database standard edition and standard edition one 64 bit
(a) using sql
Select * the option of $ v;
(b) using the configuration/installation files
opatch lsinventory-details
-
Find the difference between two date and time
Hi friends,
I wanted to find the difference between two date and time, but my qury is slightest error "invalid number."
select sql_step_num,proc_name,run_seqno,start_date,end_date,(to_char(start_date,'HH24-MI-SS') - to_char(end_date,'HH24-MI-SS') ) as ed from eval.EVAL_RUNTIME_DETAILS where trunc(start_date) = trunc(sysdate) order by sql_step_num;
You try to get the feel between two char strings.
And more difference between two dates gives a NUMBER of days.
Try this:select sql_step_num,proc_name,run_seqno,start_date,end_date,numtodsinterval(end_date-start_date,'DAY') as ed from eval.EVAL_RUNTIME_DETAILS where trunc(start_date) = trunc(sysdate) order by sql_step_num;
-
How can I compare the differences between two files After Effects?
I have a major problem. I was working on special effects for a film. In After Effects, when I change siggificant, I often have to register under and create a new name so I can go back to the old work if necessary. It comes in a case, I have come back from earlier works. If I use these two files After Effects allows you to create multiple clips of effects. And I do not remember just where you look at it, it is better. Does anyone know a good way to compare the differences between the files?
One thing to keep this conversation on the right way: I know that I did a stupid thing. I've never done this before so can we please not spend a lot of time on how to avoid this problem and stick to how we solve this problem?
If you encounter difficulties to identify differences in the old and new versions, you can use this procedure:
To avoid confusion, I'll call your former company and your most recent compositions CompB comps.
CompA drag "New Comp" icon in the project window. This will create a new temporary layout that contains the nested CompA.
Drag in your new COMP CompB temporary ensure it aligns image for image with CompA.
Place the top layer (CompB) difference.
Now, when you play through the comp, you'll see differences in color at a time where the comparison and CompB are not identical.
-
FormCalc - how to calculate the difference between the two fields datetime in hh: mm?
Hello!
I am building a form of time sheet in which I need to calculate the difference between the start and end times and present the result.
I'm trying to do with FormCalc but if it is easier with JS is ok too.
So that's what I did on the total field, by using the calculate on a NUMERIC field called decimalValue event:
elapsed = Time2Num (endTime.formattedValue, "HH: mm")-Time2Num (startTime.formattedValue, "HH: mm")
And then I tried to convert a time field:
Total = decimalValue.rawValue;
$.formattedValue = Num2Time (total, "HH: mm")
Well, it doesn't work, it gives me crazy results in the datetime (total) field. If I type 09:00 and 09:30, the final result is... 22:30. Huh?
Please, could someone help me understand how this thing works?
Thanks a lot for the tips!
Marcos
Hi Marcos,
Here are some examples:
https://Acrobat.com/#d=kCPIgVkd09qrx6h-WRXxbQ
https://Acrobat.com/#d=EsWqBMBt3sgEXnMSsK5pRA
Hope that helps,
Niall
-
The most elegant way to get the difference between two tables - not least!
Hello
Simplified example of what I'm trying to achieve - I have two tables ORIGINAL and REVISED.
My aim is to compare the two, such as; -
When there is data in the two tables I get the difference between the Budget column, and if there is no difference, so I don't want no lines.
When data exists in the ORIGINAL, but not in review, I want to the inverse of the current value of the Budget column.
Where the data exist in REVISED I want the REVISED value.
I can see how I can do this, see below, but is there a more elegant solution?
Data for the ORIGINAL table
Data for the REVISED tableselect '801040' entity, '2186' expense_type, 234000 budget from dual union all select '801040' entity, '3001' expense_type, 1000 budget from dual union all select '801040' entity, 'P132' expense_type, 34000 budget from dual union all select '801040' entity, 'P135' expense_type, 43000 budget from dual
Desired outputselect '801040' entity, '2186' expense_type, 235000 budget from dual union all select '801040' entity, 'P132' expense_type, 34000 budget from dual union all select '801040' entity, 'P139' expense_type, 56000 budget from dual
ENTITY EXPENSE_TYPE DIFFERENCE
------ ------------ ----------
801040 2186 1000
801040 3001-1000
801040 P135-43000
801040 P139 56000
5 selected lines.
Code current to achieve this, is there a better way?
Thanks a lot for your comments,.select original.entity , original.expense_type , (nvl(revised.budget,0) - original.budget) as difference from original , revised where original.entity = revised.entity(+) and original.expense_type = revised.expense_type(+) and (nvl(revised.budget,0) - original.budget) != 0 union all select revised.entity , revised.expense_type , revised.budget as difference from revised where not exists (select 'x' from original where original.entity = revised.entity and original.expense_type = revised.expense_type) and revised.budget != 0
Robert.
Published by: Robert Angel on January 17, 2012 03:31 to change is not equal to! = - Thanks for the heads upSQL> with original 2 as 3 ( 4 select '801040' entity, '2186' expense_type, 234000 budget 5 from dual 6 union all 7 select '801040' entity, '3001' expense_type, 1000 budget 8 from dual 9 union all 10 select '801040' entity, 'P132' expense_type, 34000 budget 11 from dual 12 union all 13 select '801040' entity, 'P135' expense_type, 43000 budget 14 from dual 15 ) 16 , revised 17 as 18 ( 19 select '801040' entity, '2186' expense_type, 235000 budget 20 from dual 21 union all 22 select '801040' entity, 'P132' expense_type, 34000 budget 23 from dual 24 union all 25 select '801040' entity, 'P139' expense_type, 56000 budget 26 from dual 27 ) 28 select * 29 from ( 30 select nvl(o.entity, r.entity) entity, 31 nvl(o.expense_type, r.expense_type) expense_type, 32 nvl(r.budget,0) - nvl(o.budget,0) budget 33 from original o 34 full join revised r 35 on o.entity = r.entity 36 and o.expense_type = r.expense_type 37 ) 38 where budget <> 0 39 / ENTITY EXPE BUDGET ------ ---- ---------- 801040 2186 1000 801040 P135 -43000 801040 3001 -1000 801040 P139 56000 SQL>
Maybe you are looking for
-
can I switch to the rank of Captain of Maverix 10.9.5
Hello I installed in my mac maverix 10.9.5 and I want to install captin but I don't know if there will be a problem because I have installed the version of Yosemite. There will be a problem if I do not install Yosemite and if yes were can I download
-
How to activate the utility "Flash Cards" at Windows startup?
When I start my computer with a start or restart, the FN keys do not work. I need to start the program "Restart flash cards" title in the Toshiba Utilities so that the keys are working again.How can I put this program in the startup list of Windows?
-
How can I activate my mac and ipod use icloud
I want to inclued ipodpro my wife in my icloud. I have 50gig so I thought that we can drop off pure, etc. in addition to the backup
-
In iPhoto, I could spend libraries with the app Is reset, option key restart the only way to do this in photos
-
What happens when xp is no longer supported. I can't afford to buy another os
What happens when xp is no longer supported. I can't afford to buy another operating system