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.
ZU_ CHAR
TO_ CHAR konvertiert einen Zeitstempel oder einen numerischen Ausdruck in ein Zeichenketten-Datenformat.
Syntax
TO_CHAR (timestamp_expression | numeric_expression , 'format')
Argumente
- timestamp_expression
-
Ein Ausdruck, der zu einem Wert TIMESTAMPTZ vom Typ TIMESTAMP oder zu einem Wert führt, 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 neben der numerischen Zeichenfolge ein Leerzeichen ein.
Anmerkung
TO_ unterstützt CHAR keine 128-Bit-Werte. DECIMAL
- 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
Das folgende Beispiel konvertiert einen Zeitstempel in eine ISO Tageszahl der Woche.
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 EVENT Tabelle 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
Im folgenden Beispiel wird eine Dezimalzahl in eine Zeichenfolge konvertiert.
select to_char(125.8, '999.99');
to_char --------- 125.80
Im folgenden Beispiel wird eine Dezimalzahl in eine Zeichenfolge konvertiert.
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 EVENT Tabelle 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