timestamp zu UNIX timestamp
Hallo!
Ich möchte einen Timestamp zu einem Unixtimestamp convertieren.
Ich schaue also in der Doku und schreibe folgendes
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2001-02-16 20:38:40');
Funktioniert wunderbar.
Dann das ganze mit der betreffenden Spalte (enddate) und der Tabelle
(tasklist).
SELECT EXTRACT(EPOCH FROM TIMESTAMP enddate) FROM tasklist;
Hier bekomme ich aber diese Fehlermeldung:
FEHLER: Fehler =BBSyntaxfehler=AB bei =BBenddate=AB at character 37
Grüße
Andr=E9 Laugks
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo [at] postgresql.org so that your
message can get through to the mailing list cleanly
Re: timestamp zu UNIX timestamp
am 13.07.2006, um 20:06:57 +0200 mailte Andr=E9 Laugks folgendes:
> Hallo!
>
> Ich möchte einen Timestamp zu einem Unixtimestamp convertieren.
>
> Ich schaue also in der Doku und schreibe folgendes
>
> SELECT EXTRACT(EPOCH FROM TIMESTAMP '2001-02-16 20:38:40');
>
> Funktioniert wunderbar.
>
> Dann das ganze mit der betreffenden Spalte (enddate) und der Tabelle
> (tasklist).
>
> SELECT EXTRACT(EPOCH FROM TIMESTAMP enddate) FROM tasklist;
test=3D# create table test (ts timestamp);
CREATE TABLE
test=3D# insert into test values(now());
INSERT 0 1
test=3D# SELECT EXTRACT(EPOCH FROM ts) FROM test;
date_part
------------------
1152816487.76911
(1 row)
test=3D# SELECT EXTRACT(EPOCH FROM ts::timestamp) FROM test;
date_part
------------------
1152816487.76911
(1 row)
In Deinem ersten Bleistift hast Du einen String explizit nach TIMESTAMP g=
ewandelt.
Wenn Du aber als Quelle bereits eine Tabelle nimmst, ist der Typ ja
bekannt. Du kannst extra den CAST-Operator verwenden, so wie ich im
zweiten Beispiel, ist aber nicht nötig.
Dein zweites Beispiel wird (offensichtlich) flasch geparst, er scheint
hier zwei Spalten zu sehen. Meine Vermutung...
Andreas
--
Andreas Kretschmer (Kontakt: siehe Header)
Heynitz: 035242/47215, D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
=3D=3D=3D Schollglas Unternehmensgruppe =3D=3D=3D
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster
Re: timestamp zu UNIX timestamp
Hi,
On July 13, 8:53 pm "A. Kretschmer" <andreas.kretschmer [at] schollglas.com>
wrote:
> Dein zweites Beispiel wird (offensichtlich) flasch geparst, er scheint
> hier zwei Spalten zu sehen. Meine Vermutung...
Mh, was mir bei dem Beispiel noch aufgefallen ist:
template1=# SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ(enddate)) FROM abc;
date_part
-----------
982352320
(1 Zeile)
template1=# SELECT EXTRACT(EPOCH FROM TIMESTAMP(enddate)) FROM abc;
FEHLER: Fehler >>Syntaxfehler<< bei >>enddate<<
LINE 1: SELECT EXTRACT(EPOCH FROM TIMESTAMP(enddate)) FROM abc;
^
Joachim
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
http://archives.postgresql.org
Re: timestamp zu UNIX timestamp
"Joachim Wieland" <joe [at] mcknight.de> writes:
> On July 13, 8:53 pm "A. Kretschmer" <andreas.kretschmer [at] schollglas.com>
> wrote:
>
>> Dein zweites Beispiel wird (offensichtlich) flasch geparst, er scheint
>> hier zwei Spalten zu sehen. Meine Vermutung...
Ich denke nicht, daß da irnkwas falsch geparst wird, schließlich sieh=
t
der Standard das "TIMESTAMP" nur bei Konstanten vor, nicht bei
Ausdrücken. Bei letzteren wäre dann wohl CAST() angebracht.
> Mh, was mir bei dem Beispiel noch aufgefallen ist:
>
> template1=3D# SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ(enddate)) FROM ab=
c;
> date_part
> -----------
> 982352320
> (1 Zeile)
>
> template1=3D# SELECT EXTRACT(EPOCH FROM TIMESTAMP(enddate)) FROM abc;
> FEHLER: Fehler >>Syntaxfehler<< bei >>enddate<<
> LINE 1: SELECT EXTRACT(EPOCH FROM TIMESTAMP(enddate)) FROM abc;
TIMESTAMP ist ein reserviertes Keyword und kann nicht als
Funktionsname verwendet werden.
select extract(epoch from "timestamp"(enddate)) from abc;
sollte dagegen klappen.
Gruß
Andreas
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
Re: timestamp zu UNIX timestamp
A. Kretschmer schrieb:
> am 13.07.2006, um 20:06:57 +0200 mailte Andr=E9 Laugks folgendes:
> In Deinem ersten Bleistift hast Du einen String explizit nach TIMESTAMP=
gewandelt.
> Wenn Du aber als Quelle bereits eine Tabelle nimmst, ist der Typ ja
> bekannt.
Klar, ich habe ja schon den Type TIMESTAMP auf der Spalte...
Vielen Dank, Andr=E9 Laugks
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match
Re: timestamp zu UNIX timestamp
Walter Haslbeck schrieb:
> bzw. wenn du enddate in einen Datum vom Typ 'TIMESTAMP' casten willst
> (aber das willst du nicht, oder?):
Nee, will ich nicht. Die Spalte ist ja schon vom Type TIMESTAMP.
Wo ich das jetzt lese..., man hätte drauf kommen können.
Vielen Danke, Andr=E9 Laugks
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings