Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come convertire un numero intero in un decimale in SQL Server

Problema:

Desideri convertire un valore intero in un tipo di dati DECIMAL in SQL Server.

Convertiamo un intero nel tipo di dati DECIMAL.

Soluzione 1:

Useremo il CAST() funzione. Ecco la domanda che scriveresti:

SELECT 
  CAST(12 AS DECIMAL(7,2) ) AS decimal_value
;

Ecco il risultato:

valore_decimale
12:00

Discussione:

Usa il CAST() funzione per convertire un numero intero in un tipo di dati DECIMAL. Questa funzione accetta un'espressione o un nome di colonna come argomento, seguito dalla parola chiave AS e dal nuovo tipo di dati. Nel nostro esempio, abbiamo convertito un numero intero (12) in un valore decimale (12,00). Il valore visualizzato ha due punti decimali perché DECIMAL in CAST() ha due punti decimali.

SQL Server offre un'altra opzione:CONVERT() . Questa non è una funzione SQL Standard come CAST() . La query seguente mostra il suo utilizzo.

Soluzione 2:

Ecco un altro modo per convertire un numero intero in un tipo DECIMAL:

SELECT 
  CONVERT(DECIMAL(7,2),12 ) AS decimal_value
;

Questa query produce lo stesso risultato di CAST() , ma accetta due argomenti obbligatori:il tipo di dati e un'espressione, un valore o un nome di colonna da convertire. Un terzo parametro facoltativo specifica come formattare il valore nel nuovo tipo. Maggiori informazioni sulla formattazione dei valori nella documentazione ufficiale di SQL Server.

Se non è necessario restituire il valore in un determinato formato, utilizzare CAST() .