sql >> Database >  >> RDS >> PostgreSQL

Tijdzone opvragen - db-server en clientcomputer hebben verschillende tijdzones

Jij altijd krijg de same data in browser client as the db original value . Er zijn gewoon veel verschillende manieren om hetzelfde tijdstip (in verschillende tijdzones) weer te geven. Twee voorbeelden (tekstrepresentaties van een timestamptz waarde):

'2012-03-05 20:00:00+03'
'2012-03-05 18:00:00+01'

Dezelfde waarde .

Wat Postgres betreft, is de tijdzone-instelling van de server hiervoor volledig irrelevant. Het enige relevante is de setting van de sessie. En het enige dat verandert is de weergave van de waarde. Het is altijd hetzelfde tijdstip.

Stel dus gewoon de tijdzone in uw sessie in om de bijbehorende tekstweergave te krijgen:

Een andere optie is de AT TIME ZONE bouwen. Een timestamp krijgen als lokaal timestamp without time zone :

SELECT my_timestamptz_column AT TIME ZONE '-8';

Bij het omgaan met een table that contains a column of timezone type bevat , is dit misschien de betere benadering, aangezien de tijdzone voor elke rij kan veranderen.

Nogmaals, dit staat allemaal in het referentieantwoord:




  1. MySQL en LIKE vergelijking met %

  2. Uitvoer MySQL-lijst met records, gegroepeerd per categorie?

  3. 3 manieren om de taal van de huidige sessie in SQL Server (T-SQL) te krijgen

  4. Een lijst met geldige tijdzones retourneren in Oracle Database