2016-07-12 16 views
1

Ich habe Tabelle, die Datum und Uhrzeit mit Zeitzone haben.Get Zeitstempel von Datum und Uhrzeit in UTC

date_time_table 
+------------+--------------+ 
| date_t | time_tz | 
+------------+--------------+ 
| 2016-05-13 | 23:00:00 -02 | 
| 2016-05-14 | 13:00:00 +06 | 
+------------+--------------+ 

Danach habe ich SQL für die Suche nach 'UTC' Zeit laufen

SELECT timetz AT TIME ZONE 'UTC' FROM date_time_tz 

Das Ergebnis ist:

+--------------+ 
| time_tz | 
+--------------+ 
| 01:00:00 +00 | 
| 07:00:00 +00 | 
+--------------+ 

Kann ich SQL kombiniert date_t mit time_tz für berechnen mit Datum zu schreiben?

Das Ergebnis, das ich erwarte, ist:

+------------+------------+ 
|  date_time_tz  | 
+------------+------------+ 
| 2016-05-14 01:00:00 +00 | 
| 2016-05-14 07:00:00 +00 | 
+------------+------------+ 

Ich versuche, mit:

SELECT concat(date_t , ' ' ,time_tz) AT TIME ZONE 'UTC' FROM date_time_table 

Aber es funktioniert nicht.

+0

Warum verwenden Sie nicht ein Zeitstempel Spalte? –

Antwort

0
SELECT concat(date_t , ' ' ,time_tz)::timestamp AT TIME ZONE 'UTC' FROM date_time_table 

Versuchen Sie, wie dieses Casting

+0

Vielen Dank für das Wissen um Casting jetzt lösen ich Problem von ** SELECT concat (date_t, '', time_tz) :: Zeitstempel MIT ZEITZONE AUF ZEITZONE 'UTC' VON date_time_table ** –

2

Wenn die Spalten von date und time Typen:

select (current_date + current_time) at time zone 'UTC'; 
      timezone   
---------------------------- 
2016-07-12 12:06:00.239396 

Wenn diese Spalten Text:

select ('2016-01-01'::date + '23:00:00 -02'::timetz) at time zone 'UTC'; 
     timezone  
--------------------- 
2016-01-02 01:00:00 
Verwandte Themen