SQL Convert Varchar in numerico

SQL Convert Varchar in numerico

La conversione è un'attività prevalente per programmatori e ingegneri di database. Questo articolo esplorerà come convertire un tipo Varchar in un tipo numerico in SQL standard.

Deve essere preso in considerazione che quando diciamo SQL standard, intendiamo tecniche e metodi universalmente adottati dai motori di database relazionali.

Metodo del cast SQL

In SQL standard, il tipografo viene realizzato utilizzando la funzione Cast (). La sintassi della funzione è come mostrata:

Cast (espressione come t_type [(lunghezza)]);

La funzione richiede tre parametri principali:

  1. L'espressione si riferisce a qualsiasi valore che può essere convertito in un tipo specificato.
  2. Il tipo T si riferisce al tipo di dati a cui deve essere convertito il valore specificato: il tipo di destinazione può includere qualsiasi tipo SQL standard supportato come int64, numerico, bignumerico, data, stringa, byte, datatime, time, struct, array, timestamp, eccetera.
  3. Lunghezza - Il terzo parametro è la lunghezza. Questo è un parametro opzionale che specifica la lunghezza del tipo di destinazione.

SQL Convert Varchar in int

Considera l'esempio seguente che converte il tipo Varchar in un tipo Int64.

Seleziona Cast ('344' come int64);

La query di esempio dovrebbe restituire il valore convertito in int come mostrato:

int4
------
344

SQL Convert Varchar in numerico

Per convertire un tipo Varchar in un tipo numerico, modificare il tipo di destinazione come numerico o bignumerico come mostrato nell'esempio seguente:

Seleziona Cast ('344' come numerico) come numerico;
Seleziona Cast ('344' come bignumerico) come big_numeric;

Le query sopra dovrebbero restituire il valore specificato convertito in numerico e numerico numerico.

Si noti che per garantire che il motore del database supporti il ​​tipo di destinazione; Altrimenti, restituirà un errore.

SQL Convert Varchar in galleggiante

Se hai Varchar a punta mobile, puoi convertirlo in un tipo di galleggiante, come mostrato nell'esempio seguente:

Seleziona Cast ('3.14159 'come galleggiante) come galleggiante;

Il codice deve restituire il tipo di galleggiante del varchar specificato. L'output di esempio è come mostrato di seguito:

GALLEGGIANTE
---------
3.14159
(1 riga)

SQL Casting sicuro

Ti sei chiesto cosa succede se provi a convertire una stringa non numerica in un tipo numerico? Considera l'esempio seguente:

Seleziona Cast ('Hello' come int64) come var;

Se si tenta di eseguire la query sopra, fallirà poiché il tipo Varchar specificato non può essere convertito in int.

Per evitare che la domanda di fallimento se la conversione non è supportata, possiamo utilizzare il metodo Safe_cast.

La funzione si comporta in modo simile alla funzione di cast, tranne per il fatto che non fallisce se la conversione fallisce. Invece, restituisce null come mostrato nell'esempio seguente:

Seleziona Safe_cast ('Hello' come int64) come nan;

Invece di un errore, la query sopra dovrebbe restituire:

"Nan": null

NOTA: Il metodo Safe_cast è supportato in SQL standard. Alcuni motori di database possono implementare le procedure in modo diverso. Ad esempio, in SQL Server, la funzione Safe_cast () viene rinominata Try_Cast o Try_Convert.

Conclusione

In questo tutorial, abbiamo discusso di come eseguire il cast di tipo in SQL standard. Ad esempio, abbiamo discusso di convertire Varchar in int64, numerico, bignumerico e float64. Abbiamo anche trattato come eseguire un casting sicuro per scenari in cui il tipo di cast può comportare un errore.