Skip to content

Instantly share code, notes, and snippets.

@richadams8
Created April 28, 2015 21:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save richadams8/36687944abf63787f466 to your computer and use it in GitHub Desktop.
Save richadams8/36687944abf63787f466 to your computer and use it in GitHub Desktop.
PostgreSQL function for getting total posix hours or minutes
CREATE OR REPLACE FUNCTION posix_hours(val TIMESTAMPTZ) RETURNS INTEGER AS $$
BEGIN
RETURN (EXTRACT(EPOCH FROM (val - TIMESTAMPTZ '1970-01-01 00:00:00+00')) /
EXTRACT(EPOCH FROM INTERVAL '1 hour'))::INT;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION posix_minutes(val TIMESTAMPTZ) RETURNS INTEGER AS $$
BEGIN
RETURN (EXTRACT(EPOCH FROM (val - TIMESTAMPTZ '1970-01-01 00:00:00+00')) /
EXTRACT(EPOCH FROM INTERVAL '1 minute'))::INT;
END;
$$ LANGUAGE plpgsql;
@richadams8
Copy link
Author

These functions will get the total number of minutes or hours since the beginning of the POSIX epoch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment