Witam wszystkich,
MySQL znam dość dobrze, ale przyszło mi teraz przesiadać się powoli na PostgreSQL i pojawia mi się parę pytań odnośnie typów danych.
Tworzą tabalę admins dodaję pola:
id (serial)
date_added
date_last_mod
date_last_act
login
password
Pierwsze pole to numer id nadawany z automatu. Trzy kolejne to odpowiednio data dodania, ostatniej modyfikacji i ostatniej aktywności użytkownika.
Załóżmy, że dla daty date_addred wybrałem typ timestamp without time zone i nadałem mu domyslną wartość now().
W polu z datą pojawia mi się data w formacie 2010-01-29 00:05:35.154423
I teraz kilka pytań. Wydawało mi się, że timestamp to ilość sekund, a nie data w konkrentym formacie.
Dlaczego tutaj wyświetla sie to w formie zwykłej daty?
Czy wobec tego wykonując zapytania mam porównywać nie ze znaczniekiem time() z PHP tylko z np. poierz rekordy większe od 2001-00-00 00:00:00.0 żeby pobrać wszystkie najnowsze od 2001 roku?
Co to za końcówka w dacie czyli 154423? To są milisekundy? Czy da się tego pozbyć? Ewentualnie jak się tego pozbyć podczas wyjmowania danych z tabeli?
Jak w tym wypadku wygląda kwestia stref czasowych? Jeżeli w serwis ma być wyświetlany dla ameryki oraz dla europy? Dodaję rekord i aktualnie pojawia mi się dokładnie aktualna godzina w tym polu. Chciałbym żeby dla wyświetlania serwisu np. w USA była wyświetlana data według tamtego schematu. Czy tojest wykonalne bez ręcznego odejmowania / dodawania godzin?