<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://in.compucrete.com/index.php?action=history&amp;feed=atom&amp;title=Time_Calculation_Queries</id>
	<title>Time Calculation Queries - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://in.compucrete.com/index.php?action=history&amp;feed=atom&amp;title=Time_Calculation_Queries"/>
	<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=Time_Calculation_Queries&amp;action=history"/>
	<updated>2026-05-15T15:14:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>http://in.compucrete.com/index.php?title=Time_Calculation_Queries&amp;diff=658&amp;oldid=prev</id>
		<title>WikiAdmin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=Time_Calculation_Queries&amp;diff=658&amp;oldid=prev"/>
		<updated>2023-07-14T13:00:38Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:00, 14 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>WikiAdmin</name></author>
	</entry>
	<entry>
		<id>http://in.compucrete.com/index.php?title=Time_Calculation_Queries&amp;diff=657&amp;oldid=prev</id>
		<title>Intra&gt;User: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=Time_Calculation_Queries&amp;diff=657&amp;oldid=prev"/>
		<updated>2017-01-10T00:02:24Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This query demonstrates different calculations combining HHMM times and Date fields with TimeStamps:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
select ticket_date,ticket_time,&lt;br /&gt;
ticket_time/100 &amp;quot;Hour&amp;quot;,&lt;br /&gt;
ticket_time-100*(ticket_time/100) &amp;quot;Minute&amp;quot;,&lt;br /&gt;
60*(ticket_time/100)+ticket_time-100*(ticket_time/100) &amp;quot;Minutes&amp;quot;,&lt;br /&gt;
cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440  &amp;quot;Frac day&amp;quot;,&lt;br /&gt;
cast(ticket_Date as timestamp )+cast ( .01 + (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440  &amp;quot;time day&amp;quot;,&lt;br /&gt;
return_plant_dt &amp;quot;Return DateTime&amp;quot;,&lt;br /&gt;
floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) ) &amp;quot;Elapsed Mins&amp;quot;,&lt;br /&gt;
floor(floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60) &amp;quot;Elapsed HH&amp;quot;,&lt;br /&gt;
floor(.5 +60* (floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60 -&lt;br /&gt;
floor(floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60) ) ) &amp;quot;Elapsed MM&amp;quot;,&lt;br /&gt;
100*floor(floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60)  +&lt;br /&gt;
floor(.5 +60* (floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60 -&lt;br /&gt;
floor(floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60) ) ) &amp;quot;Elapsed HHMM&amp;quot;&lt;br /&gt;
 from artslshd&lt;br /&gt;
where ticket_date = :Test_Date and return_plant_dt is not null and ticket_time is not null&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sample Elapsed Time Review ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
select Plant_no,cust_no,ticket_no,ticket_date,ticket_time,&lt;br /&gt;
return_plant_dt &amp;quot;Return DateTime&amp;quot;,&lt;br /&gt;
floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) ) &amp;quot;Calc Elapsed Mins&amp;quot;,&lt;br /&gt;
100*floor(floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60)  +&lt;br /&gt;
floor(.5 +60* (floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60 -&lt;br /&gt;
floor(floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60) ) ) &amp;quot;Calc Elapsed HHMM&amp;quot;,&lt;br /&gt;
Elapsed_time &amp;quot;Sys Elapsed Time&amp;quot;&lt;br /&gt;
 from artslshd&lt;br /&gt;
where ticket_date = '3/31/08' and return_plant_dt is not null &lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
UPDATE artslshd&lt;br /&gt;
SET ELAPSED_TIME=&lt;br /&gt;
  100*floor(floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60)  +&lt;br /&gt;
  floor(.5 +60* (floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60 -&lt;br /&gt;
  floor(floor(1440*(Return_Plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100*(ticket_time/100))  as numeric (11,6) ) /1440) )/60) ) )  &lt;br /&gt;
where ticket_date BETWEEN :Beg_Date and :End_Date and return_plant_dt is not null  and ticket_time is not null&lt;br /&gt;
 and plant_no in ('P1', 'P2', 'P3');&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Older Example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example Time Query&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
select artdriv.driver_name,plant_no,truck_no, ticket_date,ticket_no,artslsdt.qty_sold, ticket_time,&lt;br /&gt;
&lt;br /&gt;
 floor(1440*(batch_end_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100* &lt;br /&gt;
    (ticket_time/100))  as numeric (11,6) ) /1440) ) &amp;quot;TB Time&amp;quot;,&lt;br /&gt;
floor(.5 + 1440*(leave_plant_dt-batch_end_dt))  &amp;quot;End Batch to Leave&amp;quot;,&lt;br /&gt;
floor(.5 + 1440*(arrive_job_dt-leave_plant_dt))  &amp;quot;To Job Minutes&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
FLOOR(  floor(.5 + 1440*(arrive_job_dt-leave_plant_dt)) / 60) &amp;quot;To Job Hrs&amp;quot;,&lt;br /&gt;
floor(.5 + 1440*(arrive_job_dt-leave_plant_dt))- 60*FLOOR(  floor(.5 + 1440*(arrive_job_dt-leave_plant_dt)) / 60) &amp;quot;To Job Min&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
100*FLOOR(  floor(.5 + 1440*(arrive_job_dt-leave_plant_dt)) / 60)  +&lt;br /&gt;
floor(.5 + 1440*(arrive_job_dt-leave_plant_dt))- 60*FLOOR(  floor(.5 + 1440*(arrive_job_dt-leave_plant_dt)) / 60) &amp;quot;To Job HH:MM&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
floor(.5 + 1440*(begin_pour_dt-arrive_job_dt))  &amp;quot;Waiting&amp;quot;,&lt;br /&gt;
floor(.5 + 1440*(end_pour_dt-begin_pour_dt))  &amp;quot;Pour&amp;quot;,&lt;br /&gt;
floor(.5 + 1440*(leave_job_dt-end_pour_dt))  &amp;quot;Washing&amp;quot;,&lt;br /&gt;
floor(.5 + 1440*(return_plant_dt-leave_job_dt))  &amp;quot;To Plant&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
 floor(1440*(return_plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100* &lt;br /&gt;
    (ticket_time/100))  as numeric (11,6) ) /1440 ) ) &amp;quot;TTR_MIN&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
100*floor(&lt;br /&gt;
 floor(1440*(return_plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100* &lt;br /&gt;
    (ticket_time/100))  as numeric (11,6) ) /1440 ) ) / 60 ) +&lt;br /&gt;
&lt;br /&gt;
 floor(1440*(return_plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100* &lt;br /&gt;
    (ticket_time/100))  as numeric (11,6) ) /1440 ) ) -&lt;br /&gt;
60*floor(&lt;br /&gt;
 floor(1440*(return_plant_DT-cast(ticket_Date as timestamp )-cast (  (60*(ticket_time/100)+ticket_time-100* &lt;br /&gt;
    (ticket_time/100))  as numeric (11,6) ) /1440 ) ) / 60 )  TTHHMM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
from artslshd &lt;br /&gt;
&lt;br /&gt;
inner join artslsdt td on artslsdt.session_no=artslshd.session_no and artslsdt.trans_no=artslshd.trans_no and artslsdt.line_no=1&lt;br /&gt;
&lt;br /&gt;
inner join artdriv on artdriv.driver_code = artslshd.driver&lt;br /&gt;
where driver is not null and batch_start_dt is not null and batch_end_dt is not null&lt;br /&gt;
and ticket_date between:Begin_date and :End_date and driver is not null  and void_flag ^='Y'&lt;br /&gt;
order by artdriv.driver_name, ticket_date, ticket_no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;/div&gt;</summary>
		<author><name>Intra&gt;User</name></author>
	</entry>
</feed>