PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak reprezentować daty z niepewnością w PostgreSQL

Istnieje kilka różnych sposobów podejścia do dat rozmytych. W PostgreSQL możesz użyć

  • para kolumn daty (earliest_possible_date, last_possible_date),
  • kolumna daty i kolumna precyzji („2012-01-01”, „rok”) lub
  • typ danych zakresu (zakres dat) lub
  • warchar („2013-01-2?”, „2013-??-05”) lub
  • inna tabela lub tabele z dowolnym z tych typów danych.

Typ danych range jest charakterystyczny dla ostatnich wersji PostgreSQL. Możesz użyć innych w dowolnych bazach danych SQL.

Rodzaj rozmycia, którego potrzebujesz, zależy od aplikacji. Sposób wyszukiwania dat rozmytych zależy od wybranego typu danych lub struktury. Potrzebujesz silnego zrozumienia, jakie rodzaje niejasności należy przechowywać, oraz na pytania, na które użytkownicy muszą odpowiedzieć. Musisz też przetestować, aby upewnić się, że Twoja baza danych może odpowiedzieć na ich pytania.

Na przykład w systemach prawnych daty mogą być słabo zapamiętane lub zamazane. Ktoś może powiedzieć „To był jakiś czwartek w styczniu 2014 roku. wiem to był czwartek, ponieważ był to dzień wywozu śmieci” lub „To był pierwszy tydzień w czerwcu lub lipcu ubiegłego roku”. Aby nagrać takie rozmycie, potrzebujesz innego stolika.

Albo data stempla pocztowego może być oszpecona, aby można było przeczytać tylko „14, 2014”. Wiesz, że była stemplowana 14-go, ale nie wiesz, w którym miesiącu. Ponownie potrzebujesz innego stołu.

Niektóre (wszystkie?) z nich nie dadzą Ci logiki trójwartościowej, chyba że przeskoczysz przez niektóre obręcze. („Możliwe” nie jest prawidłową wartością logiczną.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie warunku If w klauzuli where

  2. dlaczego PG::UniqueViolation:BŁĄD:zduplikowana wartość klucza narusza ograniczenie unikalności?

  3. Iteracja przez rekordy PostgreSQL. Jak odwołać się do danych z następnego wiersza?

  4. Znajdź wiersze, w których tablica tekstowa zawiera wartość podobną do input

  5. Jak usunąć bazę danych szablonów z PostgreSQL?