Beispiel
Mit der Funktion to_char()
können Sie einen timestamp
oder interval
Wert in einen String umwandeln:
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'DD Mon YYYY HH:MI:SSPM');
Diese Anweisung erzeugt den String „12 Aug 2016 04:40:32PM“. Die Formatierungszeichenfolge kann auf viele verschiedene Arten geändert werden; die vollständige Liste der Vorlagenmuster finden Sie hier.
Beachten Sie, dass Sie auch reinen Text in die Formatierungszeichenfolge einfügen und die Vorlagenmuster in beliebiger Reihenfolge verwenden können:
SELECT to_char('2016-08-12 16:40:32'::timestamp, '"Today is "FMDay", the "DDth" day of the month of "FMMonth" of "YYYY');
Dies ergibt die Zeichenfolge „Heute ist Samstag, der 12. Tag des Monats August 2016“. Sie sollten jedoch bedenken, dass alle Schablonenmuster – auch die mit einzelnen Buchstaben wie „I“, „D“, „W“ – umgewandelt werden, es sei denn, der reine Text steht in Anführungszeichen. Als Sicherheitsmaßnahme sollten Sie den gesamten Klartext in Anführungszeichen setzen, wie oben beschrieben.
Sie können die Zeichenfolge mit dem Modifikator TM (Übersetzungsmodus) in die Sprache Ihrer Wahl lokalisieren (Tages- und Monatsnamen). Diese Option verwendet die Lokalisierungseinstellung des Servers, auf dem PostgreSQL läuft, oder des Clients, der sich mit ihm verbindet.
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'TMDay, DD" de "TMMonth" del año "YYYY');
Bei einer spanischen Gebietsschemaeinstellung ergibt dies „Sábado, 12 de Agosto del año 2016“.