PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

postgresql date_trunc до произволна точност?

Няма функция, която искате, но както е казано в postgresql wiki, можете да дефинирате функция за себе си:

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;

Обикновено закръгляване до $2 минути:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fluent NHibernate и PostgreSQL, SchemaMetadataUpdater.QuoteTableAndColumns - System.NotSupportedException:Посоченият метод не се поддържа

  2. lastInsertId не работи в Postgresql

  3. Експортирайте и импортирайте дъмп на таблица (.sql) с помощта на pgAdmin

  4. какво е @JoinColumn и как се използва в Hibernate

  5. Шаблони и модификатори за форматиране на дата/час в PostgreSQL