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

Извличане на ден от седмицата, милисекунда, микросекунда, наносекунда от дата в Postgres

Не съм сигурен какъв еквивалент търсите, но:

  • няма наносекунда точност в PostgreSQL:Разрешеният диапазон на p (точност) е от 0 до 6 за timestamp и interval видове.
  • някои части от датата включват други:т.е. milliseconds съдържа seconds &microseconds съдържа milliseconds (и следователно seconds също).

Ако търсите логически отделни стойности, ще трябва да направите малко математика, напр.:

select extract(dow from ts) dow,       -- day-of-week (where weeks start on sunday, which is 0)
       extract(isodow from ts) isodow, -- ISO day-of-week (where weeks start on monday, which is 1)
       floor(extract(seconds from ts))::int only_seconds,
       floor(extract(milliseconds from ts))::int - 1000 * floor(extract(seconds from ts))::int only_milliseconds,
       floor(extract(microseconds from ts))::int - 1000 * floor(extract(milliseconds from ts))::int only_microseconds,
       extract(microseconds from ts) all_microseconds

Или, ако търсите колко далеч е дадено времево клеймо в рамките на действителната седмица, можете да използвате timestampinterval ) аритметика също:

select ts - date_trunc('week', ts) time_elapsed_since_monday

(Въпреки че е доста трудно да се изчисли това за седмици, които започват в неделя:date_trunc работи само със седмици по ISO).

http://rextester.com/SOOO48159



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проверка на минимална променливост в R или PostgreSQL

  2. Нуждаете се от sql заявка, за да намерите публикации с най-коментиран ред по брой/брой коментари DESC

  3. Запитване за подробности за схемата на таблица в PostgreSQL?

  4. Как да проверите дали даден масив е празен в Postgres

  5. Знак за нов ред на PostgreSQL