sql >> Database >  >> RDS >> PostgreSQL

postgresql date_trunc naar willekeurige precisie?

Er is geen functie die je wilt, maar zoals gezegd in postgresql wiki kun je de functie zelf definiëren:

CREATE OR REPLACE FUNCTION round_time_10m(TIMESTAMP WITH TIME ZONE) 
RETURNS TIMESTAMP WITH TIME ZONE AS $$ 
  SELECT date_trunc('hour', $1) + INTERVAL '10 min' * ROUND(date_part('minute', $1) / 10.0) 
$$ LANGUAGE SQL;

Over het algemeen afronden op $2 minuten:

CREATE OR REPLACE FUNCTION round_time_nm(TIMESTAMP WITH TIME ZONE, INTEGER) 
RETURNS TIMESTAMP WITH TIME ZONE AS $$ 
  SELECT date_trunc('hour', $1) + ($2 || ' min')::INTERVAL * ROUND(date_part('minute', $1) / $2) 
$$ LANGUAGE SQL;


  1. Refactor een PL/pgSQL-functie om de uitvoer van verschillende SELECT-query's te retourneren

  2. Hoe krijg ik volledige offline functionaliteit in een web-app met PostgreSQL-database?

  3. java.lang.IllegalStateException:kon rij 0, col -1 van CursorWindow niet lezen - Android sqlite-probleem

  4. Microsoft SQL Server 2005/2008:gegevenstype XML versus tekst/varchar