TO_CHAR - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

TO_CHAR

TO_CHAR konvertiert einen Zeitstempel oder numerischen Ausdruck in ein Zeichenfolgendatenformat.

Syntax

TO_CHAR (timestamp_expression | numeric_expression , 'format')

Argumente

timestamp_expression

Ein Ausdruck, der einen TIMESTAMP- oder TIMESTAMPTZ-Typwert als Ergebnis hat oder einen Wert, der implizit zu einem Zeitstempel gezwungen werden kann.

numeric_expression

Ein Ausdruck, der einen numerischen Datentypwert als Ergebnis hat oder einen Wert, der implizit zu einem numerischen Typ gezwungen werden kann. Weitere Informationen finden Sie unter Numerische Typen. „TO_CHAR“ fügt links von der Zahlenfolge ein Leerzeichen ein.

Anmerkung

TO_CHAR unterstützt keine 128-Bit-Dezimalwerte.

format

Das Format für den neuen Wert. Informationen zu gültigen Formaten finden Sie unter Datum-/Uhrzeit-Formatzeichenfolgen und Numerische Formatzeichenfolgen.

Rückgabetyp

VARCHAR

Beispiele

Im folgenden Beispiel wird ein Zeitstempel in einen Wert mit Datum und Uhrzeit konvertiert, dessen Format den Namen des Monats auf neun Zeichen aufgefüllt, den Namen des Wochentages und die Tagesnummer des Monats enthält.

select to_char(timestamp '2009-12-31 23:15:59', 'MONTH-DY-DD-YYYY HH12:MIPM'); to_char ------------------------- DECEMBER -THU-31-2009 11:15PM

Im folgenden Beispiel wird ein Zeitstempel in einen Wert mit Tageszahl des Jahres konvertiert.

select to_char(timestamp '2009-12-31 23:15:59', 'DDD'); to_char ------------------------- 365

Im folgenden Beispiel wird ein Zeitstempel in einen Wert mit ISO-Tageszahl der Woche konvertiert.

select to_char(timestamp '2022-05-16 23:15:59', 'ID'); to_char ------------------------- 1

Im folgenden Beispiel wird der Monat aus einem Datumswert extrahiert.

select to_char(date '2009-12-31', 'MONTH'); to_char ------------------------- DECEMBER

Im folgenden Beispiel wird jeder STARTTIME-Wert in der Tabelle EVENT in eine Zeichenfolge konvertiert, die aus Stunden, Minuten und Sekunden besteht.

select to_char(starttime, 'HH12:MI:SS') from event where eventid between 1 and 5 order by eventid; to_char ---------- 02:30:00 08:00:00 02:30:00 02:30:00 07:00:00

Im folgenden Beispiel wird ein ganzer Zeitstempelwert in ein anderes Format konvertiert.

select starttime, to_char(starttime, 'MON-DD-YYYY HH12:MIPM') from event where eventid=1; starttime | to_char ---------------------+--------------------- 2008-01-25 14:30:00 | JAN-25-2008 02:30PM

Im folgenden Beispiel wird ein Zeitstempelliteral in eine Zeichenfolge konvertiert.

select to_char(timestamp '2009-12-31 23:15:59','HH24:MI:SS'); to_char ---------- 23:15:59

Das folgende Beispiel konvertiert eine Dezimalzahl in eine Zeichenfolge.

select to_char(125.8, '999.99'); to_char --------- 125.80

Das folgende Beispiel konvertiert eine Dezimalzahl in eine Zeichenfolge.

select to_char(125.8, '999D99'); to_char --------- 125.80

Das folgende Beispiel konvertiert eine Zahl in eine Zeichenfolge mit einer führenden Null.

select to_char(125.8, '0999D99'); to_char --------- 0125.80

Im folgenden Beispiel wird eine Zahl in eine Zeichenfolge mit dem Minuszeichen am Ende konvertiert.

select to_char(-125.8, '999D99S'); to_char --------- 125.80-

Im folgenden Beispiel wird eine Zahl in eine Zeichenfolge mit dem positiven oder negativen Vorzeichen an der angegebenen Position konvertiert.

select to_char(125.8, '999D99SG'); to_char --------- 125.80+

Im folgenden Beispiel wird eine Zahl in eine Zeichenfolge mit dem positiven Vorzeichen an der angegebenen Position konvertiert.

select to_char(125.8, 'PL999D99'); to_char --------- + 125.80

Im folgenden Beispiel wird eine Zahl in eine Zeichenfolge mit dem Währungssymbol konvertiert.

select to_char(-125.88, '$S999D99'); to_char --------- $-125.88

Im folgenden Beispiel wird eine Zahl in eine Zeichenfolge mit dem Währungssymbol an der angegebenen Position konvertiert.

select to_char(-125.88, 'S999D99L'); to_char --------- -125.88$

Im folgenden Beispiel wird eine Zahl mithilfe eines Tausendertrennzeichens (Komma) in eine Zeichenfolge konvertiert.

select to_char(1125.8, '9,999.99'); to_char --------- 1,125.80

Im folgenden Beispiel wird eine Zahl in eine Zeichenfolge konvertiert, bei dem Eckige Klammern als negative Zahlen verwendet werden.

select to_char(-125.88, '$999D99PR'); to_char --------- $<125.88>

Im folgenden Beispiel wird eine Zahl in eine Zeichenfolge römischer Zahlen konvertiert.

select to_char(125, 'RN'); to_char --------- CXXV

Im folgenden Beispiel wird ein Datum in einen Jahrhundertcode konvertiert.

select to_char(date '2020-12-31', 'CC'); to_char --------- 21

Im folgenden Beispiel wird der Wochentag angezeigt.

SELECT to_char(current_timestamp, 'FMDay, FMDD HH12:MI:SS'); to_char ----------------------- Wednesday, 31 09:34:26

Im folgenden Beispiel wird das Ordnungszahlsuffix für eine Zahl angezeigt.

SELECT to_char(482, '999th'); to_char ----------------------- 482nd

Im folgenden Beispiel wird in der Tabelle SALES die Provision vom gezahlten Preis abgezogen. Die Differenz wird anschließend nach oben gerundet und in eine römische Ziffer konvertiert, die in der Spalte TO_CHAR angezeigt wird:

select salesid, pricepaid, commission, (pricepaid - commission) as difference, to_char(pricepaid - commission, 'rn') from sales group by sales.pricepaid, sales.commission, salesid order by salesid limit 10; salesid | pricepaid | commission | difference | to_char ---------+-----------+------------+------------+----------------- 1 | 728.00 | 109.20 | 618.80 | dcxix 2 | 76.00 | 11.40 | 64.60 | lxv 3 | 350.00 | 52.50 | 297.50 | ccxcviii 4 | 175.00 | 26.25 | 148.75 | cxlix 5 | 154.00 | 23.10 | 130.90 | cxxxi 6 | 394.00 | 59.10 | 334.90 | cccxxxv 7 | 788.00 | 118.20 | 669.80 | dclxx 8 | 197.00 | 29.55 | 167.45 | clxvii 9 | 591.00 | 88.65 | 502.35 | dii 10 | 65.00 | 9.75 | 55.25 | lv

Im folgenden Beispiel wird den Differenzwerten, die in der Spalte TO_CHAR angezeigt werden, das Währungssymbol hinzugefügt:

select salesid, pricepaid, commission, (pricepaid - commission) as difference, to_char(pricepaid - commission, 'l99999D99') from sales group by sales.pricepaid, sales.commission, salesid order by salesid limit 10; salesid | pricepaid | commission | difference | to_char --------+-----------+------------+------------+------------ 1 | 728.00 | 109.20 | 618.80 | $ 618.80 2 | 76.00 | 11.40 | 64.60 | $ 64.60 3 | 350.00 | 52.50 | 297.50 | $ 297.50 4 | 175.00 | 26.25 | 148.75 | $ 148.75 5 | 154.00 | 23.10 | 130.90 | $ 130.90 6 | 394.00 | 59.10 | 334.90 | $ 334.90 7 | 788.00 | 118.20 | 669.80 | $ 669.80 8 | 197.00 | 29.55 | 167.45 | $ 167.45 9 | 591.00 | 88.65 | 502.35 | $ 502.35 10 | 65.00 | 9.75 | 55.25 | $ 55.25

Im folgenden Beispiel wird das Jahrhundert aufgelistet, in dem die einzelnen Verkäufe ausgeführt wurden.

select salesid, saletime, to_char(saletime, 'cc') from sales order by salesid limit 10; salesid | saletime | to_char ---------+---------------------+--------- 1 | 2008-02-18 02:36:48 | 21 2 | 2008-06-06 05:00:16 | 21 3 | 2008-06-06 08:26:17 | 21 4 | 2008-06-09 08:38:52 | 21 5 | 2008-08-31 09:17:02 | 21 6 | 2008-07-16 11:59:24 | 21 7 | 2008-06-26 12:56:06 | 21 8 | 2008-07-10 02:12:36 | 21 9 | 2008-07-22 02:23:17 | 21 10 | 2008-08-06 02:51:55 | 21

Im folgenden Beispiel wird jeder STARTTIME-Wert in der Tabelle EVENT in eine Zeichenfolge konvertiert, die aus Stunden, Minuten, Sekunden und Zeitzone besteht.

select to_char(starttime, 'HH12:MI:SS TZ') from event where eventid between 1 and 5 order by eventid; to_char ---------- 02:30:00 UTC 08:00:00 UTC 02:30:00 UTC 02:30:00 UTC 07:00:00 UTC

Im folgenden Beispiel wird die Formatierung für Sekunden, Millisekunden und Mikrosekunden gezeigt.

select sysdate, to_char(sysdate, 'HH24:MI:SS') as seconds, to_char(sysdate, 'HH24:MI:SS.MS') as milliseconds, to_char(sysdate, 'HH24:MI:SS:US') as microseconds; timestamp | seconds | milliseconds | microseconds --------------------+----------+--------------+---------------- 2015-04-10 18:45:09 | 18:45:09 | 18:45:09.325 | 18:45:09:325143