Skip to content

Instantly share code, notes, and snippets.

@bennadel
Created March 24, 2014 23:23
Ask Ben: Averaging Date/Time Stamps In SQL
CAST( date_time_value AS FLOAT )
<cfquery name="qFullAverage" datasource="..." username="..." password="...">
SELECT
CAST(
AVG(
CAST( date_created AS FLOAT )
)
AS DATETIME
)
FROM
web_stats_session
</cfquery>
<cfquery name="qDateOnlyAverage" datasource="..." username="..." password="...">
SELECT
CAST(
FLOOR(
AVG(
-- This inner FLOOR() call is optional (I think).
-- The averaging of the integer parts should
-- not be affected. Put it in if you want.
-- FLOOR(
CAST( date_created AS FLOAT )
--)
)
)
AS DATETIME
)
FROM
web_stats_session
</cfquery>
<cfquery name="qTimeOnlyAverage" datasource="..." username="..." password="...">
SELECT
CAST(
AVG(
-- Get full floating point value.
CAST( date_created AS FLOAT ) -
-- Subtract the integer part.
FLOOR(
CAST( date_created AS FLOAT )
)
)
AS DATETIME
)
FROM
web_stats_session
</cfquery>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment