Sql to_char

Sql to_char
La funzione to_char () in sql consente di convertire un valore in una stringa. Questa funzione è disponibile nei database Oracle.

Discutiamo di come è possibile utilizzare la funzione Oracle's To_char () e le alternative disponibili in altri motori di database.

Funzione Oracle to_char ()

La funzione TO_CHAR () consente di convertire un numero o un oggetto DateTime in una stringa nei database Oracle.

Le sintassi disponibili sono come mostrato di seguito:

to_char_number :: =
to_char_date :: =

La funzione prenderà un numero nella prima sintassi e lo convertirà in un tipo varchar2. Il numero specificato in questo caso può essere il numero di tipo, binary_float o binary_double.

Possiamo illustrare un esempio come mostrato di seguito:

SELEZIONARE
To_char (1000, '99999.9 ')
DA
doppio;

L'esempio sopra convertirà il numero 1000 in una stringa specificata in FMT. Puoi controllare i modelli di formattazione Oracle per saperne di più.

Il codice sopra dovrebbe restituire l'output come:

Puoi anche convertire un numero in una stringa con zeri come mostrato nell'esempio seguente:

SELEZIONARE
To_char (1000, '0000000')
DA
doppio;

Quanto sopra dovrebbe tornare:

To_char - datetime

Il secondo utilizzo della funzione To_Char in Oracle è convertire un DateTime in una stringa. La funzione prende l'oggetto DateTime di tipo di tipo, timestamp, timestamp con fuso orario, ecc.

La funzione convertirà quindi il valore specificato in un tipo Varchar2.

Possiamo illustrare un utilizzo di esempio come mostrato di seguito:

SELEZIONARE
To_char (sysdate, 'yyyy_mm_dd')
DA
doppio;

L'esempio sopra dovrebbe convertire il valore dalla funzione Sysdate in una stringa seguendo il formato specificato di YYYY-MM-DD.

L'output è come mostrato di seguito:

È possibile specificare altre opzioni di formattazione come mostrato nella risorsa seguente.

https: // docs.oracolo.com/cd/b19306_01/server.102/b14200/sql_elements004.HTM#I34510

Ad esempio, per convertire il valore di cui sopra in formato a lungo termine, possiamo eseguire:

SELEZIONARE
To_char (sysdate, 'dl')
DA
doppio;

Il codice sopra dovrebbe restituire:

Funzione di cast SQL

Noterai che altri motori di database non forniscono la funzione TO_CHAR. Tuttavia, possiamo usare il cast () da SQL standard per convertire un valore in una stringa.

La sintassi della funzione è come mostrata:

Cast (espressione come string [format_clause [nel fuso orario timezone_expr]])

La funzione Cast ti permetterà quindi di convertire un valore in un tipo di stringa. Quindi, ad esempio, per convertire un numero in una stringa, possiamo fare:

Seleziona Cast (100 come varchar);

Il codice sopra dovrebbe convertire l'intero in varchar come mostrato:

Varchar
---------
100
(1 riga)

Se il specificato non può essere convertito nel tipo di destinazione, la funzione restituirà un errore.

Un esempio è come mostrato:

Seleziona Cast ('Ciao!'Come intero);

Nell'esempio sopra, cerchiamo di convertire la stringa HI in un numero intero. Sfortunatamente, ciò comporterà un errore come mostrato di seguito:

Errore: sintassi di input non valida per tipo intero: “Ciao!"

NOTA: Il messaggio di errore può differire in base al motore del database target.

È inoltre possibile utilizzare la funzione di cast per convertire un oggetto DateTime in una stringa. Considera l'esempio illustrato mostrato di seguito:

Seleziona Cast (ora () come varchar);

La query sopra dovrebbe tornare:

Ora
------------------------------
2022-04-05 01:31:26.62212+03
(1 riga)

Come puoi vedere, la funzione di cast converte il valore della funzione ora () in una stringa.

Conclusione

Per questo articolo, hai imparato come utilizzare la funzione TO_CHAR () per convertire un numero o DateTime in una stringa utilizzando il motore Oracle Database. Abbiamo anche trattato come convertire da un tipo in un altro usando la funzione Cast () in SQL standard.

Grazie per aver letto!!