Sql to_char

Sql to_char
Mit der Funktion to_char () in SQL können Sie einen Wert in eine Zeichenfolge umwandeln. Diese Funktion ist in Oracle -Datenbanken verfügbar.

Lassen Sie uns diskutieren, wie Sie die Funktion von Oracle to_char () und die verfügbaren Alternativen in anderen Datenbankmotoren verwenden können.

Oracle to_char () Funktion

Mit der Funktion to_char () können Sie eine Nummer oder ein DateTime -Objekt in eine Zeichenfolge in Oracle -Datenbanken konvertieren.

Die verfügbaren Syntaxen sind wie unten gezeigt:

to_char_number :: =
to_char_date :: =

Die Funktion nimmt eine Zahl in der ersten Syntax ein und wandelt sie in einen VARCHAR2 -Typ um. Die in diesem Fall angegebene Nummer kann die Typ -Nummer, binary_float oder binary_double sein.

Wir können ein Beispiel veranschaulichen, wie unten gezeigt:

WÄHLEN
To_char (1000, '99999.9 '))
AUS
Dual;

Das obige Beispiel konvertiert die Nummer 1000 in eine in der FMT angegebene Zeichenfolge. Sie können Oracle -Formatierungsmodelle überprüfen, um mehr zu erfahren.

Der obige Code sollte die Ausgabe als:

Sie können auch eine Zahl in eine Zeichenfolge mit Nullen umwandeln, wie im folgenden Beispiel gezeigt:

WÄHLEN
To_char (1000, '0000000')
AUS
Dual;

Das obige sollte zurückkehren:

To_char - datetime

Die zweite Verwendung der TO_CHAR -Funktion in Oracle besteht darin, eine DateTime in eine Zeichenfolge umzuwandeln. Die Funktion übernimmt das DateTime -Objekt vom Typ Datum, Zeitstempel, Zeitstempel mit der Zeitzone usw.

Die Funktion wandelt dann den angegebenen Wert in einen VARCHAR2 -Typ um.

Wir können eine Beispiel Verwendung veranschaulichen, wie unten gezeigt:

WÄHLEN
To_char (sysdate, 'yyyy_mm_dd')
AUS
Dual;

Das obige Beispiel sollte den Wert aus der Sysdate-Funktion in eine Zeichenfolge umwandeln.

Die Ausgabe ist wie unten gezeigt:

Sie können andere Formatierungsoptionen angeben, wie in der folgenden Ressource gezeigt.

https: // docs.Orakel.com/cd/b19306_01/server.102/B14200/sql_elements004.HTM#I34510

Um den obigen Wert in das Langdatumformat umzuwandeln, können wir beispielsweise ausführen:

WÄHLEN
To_char (sysdate, 'dl')
AUS
Dual;

Der obige Code sollte zurückgeben:

SQL -Gussfunktion

Sie werden feststellen, dass andere Datenbankmotoren die Funktion der to_char nicht angeben. Wir können jedoch den Cast () von Standard SQL verwenden, um einen Wert in eine Zeichenfolge umzuwandeln.

Die Funktionssyntax ist wie gezeigt:

Cast (Ausdruck als String [format_clause [zur Zeitzonenzeit Timezone_expr]])

Mit der Gussfunktion können Sie dann einen Wert in einen String -Typ konvertieren. Um beispielsweise eine Zahl in eine Zeichenfolge umzuwandeln, können wir also:

Wählen Sie Cast (100 als Varchar);

Der obige Code sollte die Ganzzahl wie gezeigt in Varchar umwandeln:

varchar
---------
100
(1 Reihe)

Wenn der angegebene nicht in den Zieltyp konvertiert werden kann, gibt die Funktion einen Fehler zurück.

Ein Beispiel ist wie gezeigt:

Wählen Sie Cast ('Hi!'Als Ganzzahl);

Im obigen Beispiel versuchen wir, die Zeichenfolge HI in eine Ganzzahl umzuwandeln. Leider führt dies zu einem Fehler, wie unten gezeigt:

Fehler: Ungültige Eingangssyntax für Geben Sie Ganzzahl ein: „Hi!”

NOTIZ: Die Fehlermeldung kann abhängig von Ihrer Zieldatenbank -Engine unterschiedlich sein.

Sie können auch die Gussfunktion verwenden, um ein DateTime -Objekt in eine Zeichenfolge umzuwandeln. Betrachten Sie das nachstehend gezeigte illustrierte Beispiel:

Wählen Sie Cast (jetzt () als varchar);

Die obige Abfrage sollte zurückkehren:

Jetzt
------------------------------
2022-04-05 01:31:26.62212+03
(1 Reihe)

Wie Sie sehen können, wandelt die Gussfunktion den Wert der Funktion now () in eine Zeichenfolge um.

Abschluss

Für diesen Artikel haben Sie gelernt, wie man die Funktion to_char () verwendet, um eine Nummer oder DateTime mit der Oracle -Datenbank -Engine in eine Zeichenfolge umzuwandeln. Wir haben auch abgedeckt, wie man mit der Funktion cast () in Standard -SQL von einem Typ zu einem anderen konvertiert wird.

Vielen Dank für das Lesen!!