Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment convertir un entier en décimal dans SQL Server

Problème :

Vous souhaitez convertir une valeur entière en un type de données DECIMAL dans SQL Server.

Convertissons un entier en type de données DECIMAL.

Solution 1 :

Nous utiliserons le CAST() une fonction. Voici la requête que vous écririez :

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

Voici le résultat :

decimal_value
12.00

Discussion :

Utilisez le CAST() fonction pour convertir un entier en un type de données DECIMAL. Cette fonction prend une expression ou un nom de colonne comme argument, suivi du mot-clé AS et du nouveau type de données. Dans notre exemple, nous avons converti un entier (12) en une valeur décimale (12,00). La valeur affichée a deux décimales car DECIMAL dans CAST() a deux décimales.

SQL Server propose une autre option :CONVERT() . Ce n'est pas une fonction SQL Standard comme CAST() . La requête ci-dessous montre son utilisation.

Solution 2 :

Voici une autre façon de convertir un entier en un type DECIMAL :

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

Cette requête produit le même résultat que CAST() , mais prend deux arguments obligatoires :le type de données et une expression, une valeur ou un nom de colonne à convertir. Un troisième paramètre facultatif spécifie comment la valeur doit être formatée dans son nouveau type. En savoir plus sur le formatage des valeurs dans la documentation officielle de SQL Server.

Si vous n'avez pas besoin de renvoyer la valeur dans un certain format, utilisez CAST() .